JqGrid, DatePicker нет значения на панели инструментов при выборе - PullRequest
2 голосов
/ 14 ноября 2011

Я пытаюсь добавить фильтр Datepicker на панель инструментов JQGrid.Когда я нажимаю на фильтр даты, не возникает никаких проблем с устройством выбора даты, но когда я выбираю дату, ничего не происходит.Дата, которую я выбрал, не отображается в фильтре панели инструментов, и, конечно же, поиск не запускается.Я что-то пропустил?Вот мой код:

colModel: [                     
    { name: 'Period', index: 'Period', align: 'left', formatter: 'date',
        search: true,
        searchoptions: {
        dataInit: function (el) {
            $(el).datepicker({
                changeYear: true,
                changeMonth: true,
                showButtonPanel: true,
                dateFormat: 'dd-mm-yy',
                onSelect: function(dateText, inst) {
                    $("#grid_id")[0].triggerToolbar();
                }
            });
        }
    }}
]

Заранее спасибо за помощь!

1 Ответ

2 голосов
/ 14 ноября 2011

Проблема с панелью инструментов поиска заключается в том, что код обратного вызова onSelect может быть выполнен слишком рано.Таким образом, вы должны запустить код в другом потоке и позволить текущей работе выполняться до конца:

colModel: [                     
    { name: 'Period', index: 'Period', align: 'left', formatter: 'date',
        search: true,
        searchoptions: {
        dataInit: function (el) {
            $(el).datepicker({
                changeYear: true,
                changeMonth: true,
                showButtonPanel: true,
                dateFormat: 'dd-mm-yy',
                onSelect: function () {
                    if (this.id.substr(0, 3) === "gs_") {
                        // call triggerToolbar only in case of searching toolbar
                        setTimeout(function () {
                            $("#grid_id")[0].triggerToolbar();
                        }, 100);
                    }
                }
            });
        }
    }}
]

Проверка id текущего поля <input>, которое я вставил, чтобы убедиться, чтоне пытайтесь использовать triggerToolbar в диалоге поиска.Я имею в виду, что можно комбинировать панель инструментов поиска для простого поиска с расширенным поиском для более сложных поисковых запросов.

...