Jquery CSS селектор и плагины + jqgrid - PullRequest
1 голос
/ 14 декабря 2011

Я использую несколько плагинов, относящихся к селекторам 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.

разметка jqgrid с использованием элемента inspect google 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>

1 Ответ

0 голосов
/ 14 декабря 2011

Недостаточно просто добавить класс в этот момент на странице. Ваш ввод создан после применения маски.

Возможно, вы захотите посмотреть, используя событие beforeEditCell jqGrid, чтобы применить вашу маску к ячейке в тот момент, когда она станет редактируемой и элемент ввода вставляется в DOM.

Не уверен, что это лучшее событие для использования, но похоже на правильное из документации: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:cell_editing

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...