Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery对话框将值传递给父级_Jquery_Jquery Ui_Jquery Dialog - Fatal编程技术网

jquery对话框将值传递给父级

jquery对话框将值传递给父级,jquery,jquery-ui,jquery-dialog,Jquery,Jquery Ui,Jquery Dialog,我想做的是打开jquery对话框,它工作得很好。它加载加载到页面上的内容。进行选择单击“确定”按钮并将选择存储到“隐藏自”变量。到目前为止,一切正常 现在,一旦对话框关闭,我想立即触发隐藏表单变量上的事件。请告知 这个对话就是这样叫的 $('#dialog').dialog({ dialogClass: 'no-close', resizable: false, draggable: false,

我想做的是打开jquery对话框,它工作得很好。它加载加载到页面上的内容。进行选择单击“确定”按钮并将选择存储到“隐藏自”变量。到目前为止,一切正常

现在,一旦对话框关闭,我想立即触发隐藏表单变量上的事件。请告知

这个对话就是这样叫的

 $('#dialog').dialog({
            dialogClass: 'no-close',
            resizable: false,
            draggable: false,
            modal: true,
            width: 900,
            buttons: {
                "OK": function(){
                    $(this).dialog("close");
                    var temp = $("#name").val();
                    var temp2 = $("#id").val();
                    $("#" + val1).val(temp);
                    $("#" + val2).val(temp2);

                        $("#hiddenID").change();


                },
                "Cancel": function(){
                    $(this).dialog("close");



                }
            }
        });
在表格上

我有这个

  $("#hiddenID").change(function(){
      //  alert($("#hiddenID").val());
         }).change();

在对话框中添加关闭功能。当它关闭时,它会触发你想要的任何东西

$('#dialog').dialog({
            dialogClass: 'no-close',
            resizable: false,
            draggable: false,
            modal: true,
            width: 900,
            buttons: {
                "OK": function(){
                    $(this).dialog("close");
                    var temp = $("#name").val();
                    var temp2 = $("#id").val();
                    $("#" + val1).val(temp);
                    $("#" + val2).val(temp2);

                        $("#hiddenID").change();


                },
                "Cancel": function(){
                    $(this).dialog("close");



                }
            },
          close: function(event, ui){
             //whatever you want to happen on close - regardless of how the dialog is closed
            }
        });

那么问题是什么呢?这应该是可行的,即当单击OK按钮时,您的更改事件应该被调用。除非您忘记声明val1和val2,在这种情况下,在$hiddenID.change行之前引发异常;已传递val1和val2,但未触发$hiddenID.changefunction{//alert$hiddenID.val;}.change;你确定吗?试着注释掉这两行。另外,由于您已经注释掉了更改处理程序中的警报,您怎么知道它没有被调用呢?即使我启用了警报,我也没有看到警报消息我刚刚将您的两个片段复制到一个jQuery就绪处理程序中,添加了一行var val1=val2='xyz';在顶部,添加了一个id为hiddenID的隐藏字段和一个id为div的对话框,并启用了警报。正如预期的那样,它警告该值两次-第一次是在页面加载时,因为上次的更改调用,然后是在单击“确定”之后。我正在使用Firefox8和jQuery1.6.2以及jQueryUI1.8.16。