2011-12-14 49 views
1

我使用幾個插件歸因於CSS選擇器,並已正常工作。 麻煩的是,通過使用帶編輯模式的插件jqgrid執行相同的操作,這種技術不起作用。例如,我會試着解釋: 。jQuery的CSS選擇器和插件+ jqgrid

我有一個單獨的js文件,我把下面的

$ (". JQmaskdata"). InputMask ("99-99-9999")// imput mask plugin 

/* Animate options: clip, fold, slide */
$ (". JQCalendar"). Datepicker (
      {DateFormat, 'dd-mm-yy' 
       Regional: 'en',// ​​file regional [pt.js] 
       showAnim 'clip' 
       showButtonPanel: true// show the button to go to close the current date + 
      } 
    ); 

如果你的頁面上的現有元素之後:

結果將如預期。 (將顯示面具和日曆)

我這樣做,使頁面上的對象具有這些類(JQmaskdata JQCalendar)可以繼承此功能。

我試圖做的jqGrid編輯模式相同,但預期

例如與相關的代碼不工作,


// Load Grid 
    $ ("# List"). JqGrid ({ 
     datatype: "local" 
     width: 465, 
     // Height: 280, 
     colNames: ["ID", "", "Description", "", ""] 
     colModel: [ 
      {Name: 'id', index: 'id', sorttype: "int", hidden: true}, 
      {Name: "data", index, "data", width: 80, editable: true, EditType "text", 
      **editoptions: {dataInit: function (elem) {$ (elem). addClass ('JQmaskdata JQCalendar');}} 
     },** 
      {Name: "table," index "table", editable: false, hidden: true}, 
      {Name: "Action" index "action", width: 80, sortable: false, search: false}// Buttons 

     ] 
     loadtext: 'Loading ...', 
     .......... 

類正確地放置在輸入,但不起作用。

非常感謝您


你好襤褸的看門人, 是的,這是故意的。它是兩個分開的類。一個是兩個面具,另一個是日曆。

總之如果我這樣做在現有頁面輸入工作

<input type="text" id="mindadata" class="JQmaskdata JQCalendar" value="mindadata" />工作

但是,如果你不工作的編輯jqGrid的相同。使用檢查谷歌crhome的元件

<td role="gridcell" aria-describedby="list_descr" style="" title=""> <input type = "text" id = "0_descr" name = "descr" class = "editable JQmaskdata JQCalendar" style = "width: 98%; "role =" textbox "> </ td> 
+0

你在選擇器中有一個空間,這是故意的嗎?請同時發佈您的標記以更好地幫助我們回答您的問題。 – 2011-12-14 15:54:36

+0

你好Sc The的看門人, – Sandcar 2011-12-14 16:11:35

回答

0

只需在頁面點添加該類的jqGrid的

標記是insufficent。您的輸入是在應用遮罩後創建的。

您可能想要看看如何使用jqGrid的beforeEditCell事件將掩碼應用於單元格,使其可以編輯並將輸入元素插入到DOM中。

不知道這是用最好的情況下,但看起來像從文檔是正確的: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:cell_editing

希望有所幫助。