我可以显示图标,如果我将javascript行放在href中但是我无法将对话框对象附加到链接ID,它会触发一个简单的警告。
我正在使用“elmsuffix”获取html:
这有效:
{name:'name',index:'name',width:100, editable: true, formoptions:{elmsuffix: "<a id="companysearch" href="javascript:alert('yay it worked!');" ><span id="companysearchicon" class="ui-icon ui-icon-plus" style="position:absolute; top:2px; right:25px; "></span></a>"}},
这不是:
$("#companysearch").click(function(){ alert('yay it worked!'); });
{name:'name',index:'name',width:100, editable: true, formoptions:{elmsuffix: "<a id="companysearch" href="javascript:void(0)" ><span id="companysearchicon" class="ui-icon ui-icon-plus" style="position:absolute; top:2px; right:25px; "></span></a>"}},
它几乎就像范围阻止了对象相互协作(或者我只是简单地接近它)
由于
Andrew Finegan
答案 0 :(得分:0)
首先,我假设您使用elmsuffix: '<a id="companysearch" ...'
而不是elmsuffix: "<a id="companysearch" ..."
来使用正确的语法而不转义每个"
个字符。
您使用$("#companysearch").click(...)
时<问题> 时出现问题。目前,id =“companysearch”的元素必须已存在于页面的DOM中。所以你应该在beforeShowForm
事件处理程序内部使用:
$("#list").jqGrid('navGrid','#pager',{},
{ // edit options
beforeShowForm: function(form) {
$("#companysearch").click(function(){
alert('yay it worked!');
});
}
});
或使用jQuery.live方法:
$("#companysearch").live('click', function() {
alert('yay it worked (live)!');
});
在the small example中,您可以看到两种工作方式。