0

フォームを受け入れた後、2つのパラメーターを持つ関数を呼び出すjqueryフォームダイアログが必要です。1つのパラメーターはフォームからのもので、もう1つはダイアログが初期化/開かれる場所からのものです。グローバル変数を使用せずにこれを行うにはどうすればよいですか?

編集:

$("#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>
4

2 に答える 2

1

param2で非表示の入力を作成してみてください。

$("#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>
于 2012-09-21T17:35:46.633 に答える
0

クロージャーを使用します。

(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>});
}())
于 2012-09-21T17:20:55.277 に答える