我正在使用jqGrid和PHP。
我的jqGrid中有两个组合框。当我在jqGrid中使用Form添加新行或编辑前一行时,我想要从第一个中选择一个值时更改第二个组合Box值。
是否可以在jqGrid中使用。请帮我一个工作实例。
答案 0 :(得分:2)
答案 1 :(得分:2)
我假设你的两个组合框都使用数据库作为他们的数据。
在第一个组合框的编辑选项中,请使用以下代码:
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>
尽可能多。
希望它对你有所帮助。