2010-10-18 66 views
0

我可以顯示圖標,並且如果將javascript行放在href中,它會觸發一個簡單的警報,但是我無法將對話框對象添加到鏈接ID。JqGrid:嘗試在「添加」表單字段右側添加+按鈕(使用elmsuffix)

我使用 「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>"}}, 

它幾乎像作用域防止物體相互合作(或者我只是簡單的,錯誤地接近)

謝謝

安德魯Finegan

回答

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你可以看到現場兩種工作方式。

+0

感謝您的及時回覆和幫助!確切地說,我在找什麼! (是的,我也修正了我的語法) – 2010-10-18 19:35:40

+0

@Andrew Finegan:您好!祝你好運! – Oleg 2010-10-18 19:50:30

相關問題