2009-05-28 11 views
0

私は以下のコードを持っています。jqModal、jquery question

// open the modal when an element with a class 'edit' is clicked 
      $('.edit').live('click', function() {` 
       $('#mdl_edit').jqm({onHide: f($(this).attr('id')), ajax: 'ajax/edit_modal.aspx?lid=' + $(this).attr('id'), ajaxText: '<img src="img/ajax-loader.gif"' }); 
       $('#mdl_edit').jqmShow(); 
       return false; 
      }); 


var f = function load_it(lID) { load_single_record(lID); }; 

私はクラスの「編集」を持つ要素をクリックした史上たときのことは、関数load_itがedit_modal.aspxにも、AJAX呼び出しの前に実行される、ある..私は実際にそれがモーダルボックスの後に実行する必要があります閉じています。また、$(this).attr( 'id')をモーダルが閉じられた後に実行する必要がある関数に渡す必要があります。私は間違っています(私はそれを知っています)が、誰かが私に正しいモーダルが閉じられた後に変数を渡すことによって、関数を呼び出す方法?

に関して、

KEM

答えて

1

あなたの問題はJSエンジンはonHideの値を設定するときfが実行されていることです。あなたが実際に欲しいのはload_itを呼び出すこと、インラインで定義された、無名関数にonHideを設定することです:

onHide:function(hash){load_it($(this).attr('id'));} 

あなたが実際に(あなたがそれを使用していないことから、そこhashが必要ですが、ありませんあたりとしてjqModalのドキュメンテーション)そこには興味深いものがあります。