0

我有以下代码;

// 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') 传递给在模态关闭后需要运行的函数。我做错了(我知道)但有人可以告诉我正确的吗在模态关闭后调用函数的方式,还传递一个变量给它?

问候,

凯姆

4

1 回答 1

1

您的问题是f当 JS 引擎设置 onHide 的值时执行。你真正想要的是将 onHide 设置为一个匿名函数,内联定义,调用 load_it:

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

您实际上并不需要hash那里,因为您没有使用它,但是(根据 jqModal 的文档)那里可能有一些有趣的东西适合您。

于 2009-05-28T20:35:58.670 回答