Jquery UI对话框代替javascript确认
我有一堆validationjavascript进程与确认。 我想使用jquery ui对话框,但我需要在其余的validation过程中返回true。
例如:
var where_to_coupon = confirm(pm_info_msg_013); if (where_to_coupon== true) { doSubmit=true; return doSubmit;
所以我需要一个用UI对话框替换确认的函数,拉取消息字符串(pm_info_msg_013),并使用我自己的按钮或UI按钮为validation过程返回true。
不知道从哪里开始。
救命?
在jQuery UI对话框中,将modal
选项设置为true,并使用buttons
选项指定主要和次要用户操作。
$( "#dialog-confirm" ).dialog({ resizable: false, height:140, modal: true, buttons: [{ text: pm_info_msg_013, click : function() { $( this ).dialog( "close" ); // code related to "where_to_coupon== true" goes here // submit form } }, { text: "Cancel", click: function() { $( this ).dialog( "close" ); doSubmit = false; // don't submit form }}] });
请参阅此处的演示: http : //jqueryui.com/demos/dialog/#modal-confirmation
更新:这将允许您创建多个确认。 用法:
function CreateDialog(okText, cancelText, okCallback, cancelCallback) { $( "#dialog-confirm" ).dialog({ resizable: false, height:140, modal: true, buttons: [{ text: okText, click : function() { $( this ).dialog( "close" ); okCallback(); } }, { text: cancelText, click: function() { $( this ).dialog( "close" ); cancelCallback(); }}] } }); // ******* usage #1 ******** CreateDialog(pm_info_msg_013, "Cancel", function () { // where_to_coupon== true }, function() { // where_to_coupon== false }); function OnConfirmTrue() { // do something } function OnConfirmFalse() { // do something } // ******* usage #2 ******** CreateDialog(pm_info_msg_013, "Cancel", OnConfirmTrue, OnConfirmFalse);
我为jQuery UI创建了一个名为dialogWrapper的插件,它提供了几种方法,包括确认方法。 你这样称呼它:
$.confirm("Prompt", function(){}, function(){}, {});
第二个和第三个参数分别是单击yes和no按钮时要执行的操作。 第四个是额外的论点。
请在此处查看: http : //code.google.com/p/dialogwrapper/
但它不像本机JavaScript confirm
方法那样工作,因为它是异步的。 所以你无法用$.confirm
直接覆盖confirm
。
你有没有尝试过Trent Richardson的Impromtu?
http://trentrichardson.com/Impromptu/
这个jquery插件可以通过提示和确认等方式为您提供所需的控件。