Запускать метод только при первой загрузке jqgrid - PullRequest
1 голос
/ 23 февраля 2012

Когда я загружаю свой jqgrid, я заполняю поле выбора панели фильтра следующим образом в разделе loadcomplete:

$(".ui-search-toolbar").find("select").each(function (index, value) {
    getDropdowndata($(this).attr('NAME'));
});

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

Я хочу запускать этот код только при первой загрузке сетки.

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

Самое простое решение - иметь логическую переменную и проверить, было ли заполнение уже выполнено

var isPopulated = false;

...

function onLoadComplete(){
   if(!isPopulated){
      //your code here
      isPopulated = true;
   }
}
1 голос
/ 29 мая 2013
loadComplete: function (data) {
    var $this = $(this),
        datatype = $this.getGridParam('datatype');

    if (datatype === "xml" || datatype === "json") {
        setTimeout(function () {
            $this.trigger("reloadGrid");
        }, 100);
    }
}

это будет выполнено только один раз.Увлекаюсь этим в этой теме. Сортировка jqgrid по умолчанию для определенного поля при загрузке сетки

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