在jQuery中确认框

时间:2014-12-22 16:35:31

标签: javascript jquery

我想在jQuery中创建一个带有两个按钮的自定义确认框(OK,Save) 如果用户按OK,则应调用并执行两个javascript函数,如果用户按Save,则应调用一个js函数。 现在我的问题是:

如何在确认框的拨号内调用一个js函数。

这是我的代码

$('<div></div>').appendTo('body')
  .html('<div><h6>If you Click on OK,you willaccept modifications and close the activity, click on Save means: only acceptance without closure the activity?</h6></div>')
  .dialog({
      modal: true, title: 'message', zIndex: 10000, autoOpen: true,
      width: 'auto', resizable: false,
      buttons: {
          OK: function () {
              f1();    // How can I call it...my question is from syntax problem
              f2();    // How can I call it...my question is from syntax problem
              $(this).dialog("close");
          },
          Save: function () {
              f1();    // How can I call it...my question is from syntax problem
              $(this).dialog("close");
          }
      }

});

你可能理解我的问题是这个call.let的语法我告诉你f1()和f2()是两个已经定义和实现的javascript函数。

提前致谢


现在我在这个对话框中有另一个问题..我希望得到这个对象的回复...让我复制我的代码也许这样你可以理解更多。

$('<div></div>').appendTo('body')

      .html('<div><h6><fmt:message key="message" /></h6></div>')
      .dialog({
          modal: true, title: 'message', zIndex: 10000, autoOpen: true,
          width: 'auto', resizable: false,
          buttons: {
              OK: function () {
                    close='yes';
                    arg="&accept_op_id="+op_id+"&tat="+tat+"&acdd="+acdd+"&ente="+ente+"&fdd="+fdd+"&aed="+aed+"&add="+add+"&close="+close;
                    openSched('piano',arg,'non_sched');

              },
              Save: function () {
                  close='no';
                  arg="&accept_op_id="+op_id+"&tat="+tat+"&acdd="+acdd+"&ente="+ente+"&fdd="+fdd+"&aed="+aed+"&add="+add+"&close="+close;
                    openSched('piano',arg,'non_sched');

              }
          }
    });

我想说:如果用户单击OK,则一个名为'close'的变量被赋值为yes,然后将使用此close值调用一个函数(openSched())....如果用户单击了Save ,close =没有

我该怎么做...你看到一个语法问题吗? 在此先感谢您的帮助

2 个答案:

答案 0 :(得分:0)

jQuery(document).ready(function() {
    jQuery("#dialog").dialog({
      modal: true, title: 'message', zIndex: 10000, autoOpen: true,
      width: 'auto', resizable: false,
      buttons: {
      OK: function () {
          f1();    
          f2();    
          $(this).dialog("close");
      },
      Save: function () {
          f1();    
          $(this).dialog("close");
      }}
    });

    $('#dialog').dialog('open');

}); 

function f1()
{
    alert("f1 called");
}

function f2()
{
    alert("f2 called");
}

<div id="dialog"><h6>If you Click on OK,you willaccept modifications and close the activity, click on Save means: only acceptance without closure the activity?</h6></div>

答案 1 :(得分:0)

试试这个

<强> Working Demo

     $("<div></div>").appendTo("body").html("<div title='You Title here' class='newDiv'><h6>If you Click on OK, you will accept modifications and close the activity, <br/><br/> Click on Save means: only acceptance without closure the activity?</h6></div>").find(".newDiv").dialog({
    dialogClass: "no-close",
    buttons: [{
        text: "OK",
        click: function () {
            fnOnOkay();
            $(this).dialog("close");
        }
    }, {
        text: "Save",
        click: function () {
            fnOnSave();
            $(this).dialog("close");
        }
    }]
});

function fnOnOkay() {
    fnOne();
    fnTwo();}

function fnOnSave() {
    console.log("Call one on save clicked");}

function fnOne() {
    console.log("Call one on OK clicked");}

function fnTwo() {
    console.log("Call Two on OK clicked");}