2011-04-24 36 views
1

我正在使用jqGrid和PHP。jqGrid中的依赖组合框

我在我的jqGrid中有两个组合框。当我在添加新行时选择第一个值时,或者在我的jqGrid中使用Form编辑前一个值时,我想更改第二个组合框值。

在jqGrid中可能吗?请帮助我一个实例。

回答

2

我假设你的两个组合框使用他们的数据的数据库。

在第一个组合框的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> 

尽可能多的你需要。

希望它对您有所帮助。

+0

感谢您的帮助。 – Tareq 2011-04-25 04:49:39

+0

+1用于内联编辑选项 – Bhushan 2014-04-01 12:54:27