jqGrid中的依赖组合框


Dependant ComboBox in jqGrid

我正在使用jqGrid和PHP。

我有两个组合框在我的jqGrid。我想改变第二个组合框值,当我从第一个选择一个值,而我正在添加一个新的行或编辑前一个使用表单在我的jqGrid。

在jqGrid中是可能的吗?

查看工作示例

我假设您的两个组合框都使用数据库作为它们的数据。

在第一个组合框的editoptions中,请使用以下代码:

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>

你需要多少就多少。

希望对你有帮助