Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 - Fatal编程技术网

Jquery 双参数模态形式

Jquery 双参数模态形式,jquery,Jquery,我需要一个jquery表单对话框,它在接受表单后调用一个带有两个参数的函数。一个参数来自表单,另一个参数来自初始化/打开对话框的位置。 在不使用全局变量的情况下,我应该如何做到这一点 编辑: $("#something").click( function(){ var global_var=param2; $('#dialog').dialog('open'); } $('#dialog').dialog({modal: true,

我需要一个jquery表单对话框,它在接受表单后调用一个带有两个参数的函数。一个参数来自表单,另一个参数来自初始化/打开对话框的位置。 在不使用全局变量的情况下,我应该如何做到这一点

编辑:

$("#something").click( function(){
  var global_var=param2;  
  $('#dialog').dialog('open'); 
}


$('#dialog').dialog({modal: true,  
                     autoOpen: false,  
                     buttons: {'Cancel': function(){}  
                               'Accept': function(){ callback($('#widget').val(),global_var);}  
                              }
                    });



<div id="#dialog">
  <p>
    <input type="text" id="widget" />
  </p>
</div>
$(“#某物”)。单击(函数(){
var global_var=param2;
$('dialog')。dialog('open');
}
$('#dialog')。dialog({modal:true,
自动打开:错误,
按钮:{'Cancel':函数(){}
“接受”:函数(){callback($(“#小部件”).val(),全局#var);}
}
});

使用闭包:

(function(){
   // anything in here is local to this closure
   var foo = 0; // local
   bar = 1; // global
   $("#elementName").dialog(<options here>, 
   onBeforeClose: function () { <do something here>});
}())
(函数(){
//这里的任何东西都是这次闭包的地方
var foo=0;//本地
bar=1;//全局
$(“#元素名称”)。对话框(,
onBeforeClose:function(){});
}())

您可以尝试使用参数2创建隐藏的输入:

$("#something").click( function(){
  $('#dialog').find('#param2').val(param2);  
  $('#dialog').dialog('open'); 
}


$('#dialog').dialog({
   modal: true,  
   autoOpen: false,  
   buttons: {
       'Cancel': function() { }  
       'Accept': function() { 
            callback($('#widget').val(), $('#param2').val());
       }  
   }
});



<div id="#dialog">
  <input type="hidden" id="param2" value="" />
  <p>
    <input type="text" id="widget" />
  </p>
</div>
$(“#某物”)。单击(函数(){
$('dialog').find('param2').val(param2);
$('dialog')。dialog('open');
}
$('#dialog')。dialog({
莫代尔:是的,
自动打开:错误,
按钮:{
“取消”:函数(){}
“接受”:函数(){
回调($('#widget').val(),$('#param2').val());
}  
}
});


因此,我单击表中的一个单元格,获取一些行祖先的id(这里没有说明,我们称之为param2),然后打开一个对话框,用户从中输入一个字段。字段和param2需要作为参数发送给函数。使用全局变量不是很优雅。可以在对话框参数中发送bar吗?