2011-12-14 81 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

希望有所帮助。