<!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" οnclick="my()" value="点击" /> </body> </html>
转载于:https://www.cnblogs.com/joeylee/p/3685822.html