<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> <title>无标题文档</title> </head> <script type="text/javascript"> function apprise(string, args, callback) //这里是args传递的是一个对象,而callback是一个方法 { var default_args = { 'input' : false, // 是否有文本框 'textOk' : "肯定", // 肯定按钮的默认值 'textCancel' : "取消" // 取消按钮的默认值 } if(args) //若是参数有值 { for(var index in default_args) //default_args 有3个属性,咱们对这3个属性进行循环 { if(typeof args[index] == "undefined") // 若是传递进来的参数的其中一个属性的值为undefined的话 { args[index] = default_args[index];
//咱们就给传递的参数的其中的一个属性一个默认值(这个默认值由default_args来提供) } } } //开始建立一个div var div='<div id="mydiv" style="border:1px #ccc solid;width:500px; height:300px">'+string; //若是须要建立文本框的话,咱们就建立一个input if(args["input"]==true){ div+='<input type="text">'; } //建立2个按钮 div+='<button value="ok">'+args["textOk"]+'</button><button value="cancel">'+args["textCancel"]+'</button>'+ '</div>'; $(div).appendTo($("body")); $("#mydiv > button").click(function(){ if(this.value=="ok"){ var txt=$("#mydiv > input[type='text']").val(); if(typeof(txt)!="undefined"){ //若是文本不为undefined的话,咱们就回调文本,不然就回调false callback(txt);//调用传进来的函数方法,而且把txt当作参数穿进去 ,就会执行 alert(canshu) 这个方法体了 } else{ callback(false); } }else { callback(false); //若是点击的是取消按钮,则直接返回false } }); } function my(){ apprise("请输入分组的名称", { 'input': true,'textOk':'点是'},function(re_value){ //这里实际上就是把canshu当作是返回值在使用 //若是你有什么ajax要提交 这里是最合适不过了 if(re_value){ //若是re_value有值的话 if (typeof (re_value) == 'string') { //若是返回的是个字符串,咱们就弹出来 alert(re_value) } } }); } </script> <body> <input type="button" onclick="my()" value="点击" /> </body> </html>