Зависимый ComboBox в jqGrid - PullRequest
       0

Зависимый ComboBox в jqGrid

1 голос
/ 24 апреля 2011

Я использую jqGrid и PHP.

У меня есть две комбинированные коробки в моей jqGrid. Я хочу изменить значение второго поля со списком, когда я выбираю значение из первого, когда добавляю новую строку или редактирую предыдущую, используя форму в моей jqGrid.

Возможно ли это в jqGrid. Пожалуйста, помогите мне с рабочим примером.

Ответы [ 2 ]

2 голосов
/ 25 апреля 2011

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

В опциях редактирования первого комбобокса используйте следующий код:

editoptions: {
   value: "1:One;2:Two",
   dataEvents: [{
       type: "change",
       fn: function(e) {
          $("#your_grid").setColProp("second_combo", { 
              editoptions: { value: "-1:--Select One--"} 
          });
          var v = parseInt($(e.target).val(), 10);
          $.ajax({
             url: "path/to/your/controller/"+v,
             dataType: "html",
             success: function(data) {
                if ($(e.target).is(".FormElement")) {
                var form = $(e.target).closest("form.FormGrid");                                                       
                $("select#second_combo.FormElement", form[0]).html(data);
                }
                else {
                   // inline editing
                   var row = $(e.target).closest("tr.jqgrow");
                   var rowId = row.attr("id");
                   $("select#" + rowId + "_second_combo", row[0]).html(data);
                }
             }
       });
     }
  }] 
}   

Теперь в ваших Добавить и Редактировать Параметры вашей сетки используют следующее:

recreateForm:true   

Ваш контроллер должен возвращать данные в следующем синтаксисе:

  <option value="val">Display</option>

Столько, сколько вам нужно.

Надеюсь, это будет полезно для вас.

2 голосов
/ 24 апреля 2011

Посмотрите на рабочий пример .

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