jqGrid выберите выпадающий элемент - PullRequest
2 голосов
/ 09 ноября 2010

Я пытаюсь выбрать выпадающий список из jqGrid и манипулировать им.

jQuery("#grid")...

colModel: [...

{ name: 'StateId', index: 'StateId', width: 350, align: 'center', stype: 'select',
  edittype: 'select', searchoptions: { sopt: ['eq'] },
  editoptions: { value: controllerMethods.GetStates()} },...

.
.
.    

jQuery("#grid").jqGrid('filterToolbar', { stringResult:true, searchOnEnter:false });

Мне просто нужно установить выбранное по умолчанию значение раскрывающегося элемента управления, и я не могу этого добиться.: (

Любая помощь приветствуется!

Ответы [ 2 ]

3 голосов
/ 09 ноября 2010

Вы можете использовать дополнительную опцию поиска

searchoptions:{
    dataInit:function(el){
        $("option:contains("+defaultCategory+")",el).attr("selected", "selected");
        setTimeout(function(){
            $(el).trigger('change');
        },500);
    }
}

, где defaultCategory - это опция, которую вы хотите использовать по умолчанию. Смотрите маленькую демонстрацию здесь .

0 голосов
/ 10 ноября 2010

Мне кажется, я нашел способ:

var stateIdDropDown = $('#gs_StateId');

В этом случае gs_StateId - это DOM Id элемента (обнаруженный с помощью Firebug).

Однако, пожалуйста, ответьте, если кто-то знает способ выбора элемента следующим образом:

var stateIdDropDown = $('#myGrid>whatever...StateId');

Спасибо всем.

Приложение 1:

.
.
.
//Preset default search filter.
    SetGridSearchDefaults: function (grid) 
    {
        var gridInfo = new Object();

        var postData = grid.jqGrid('getGridParam', 'postData');

        if (postData.filters==null) 
        {
            postData.filters = '{"groupOp":"AND","rules":[{"field":"StateId","op":"eq","data":"1"}]}'

            grid.jqGrid('setGridParam', { postData: postData });
        }
    },

    //Pre-Select dropdowns.
    PreSelectDropDowns: function () 
    {
        $('select#gs_StateId').val('1');//Status New
    },

.,.

SetGridSearchDefaults вызывается для события beforeRequest Grid!

PreSelelectDropDown вызывается для события gridComplete Grid, пожалуйста, не для фрагмента!

    jQuery("#grid").jqGrid({
    .
    .
    .
gridComplete: function () {
        if (firstLoad == true) {
                            commonMethods.PreSelectDropDowns(); //Pre-Select filter dropdowns.
                            firstLoad = false;
                        }
    .
    .
    .

Таким образом, мне удалось сохранить шаблон MVC, заставив графический интерфейс управлять контроллером, т.е. я установил критерии поиска по умолчанию на уровне графического интерфейса.

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