gpt4 book ai didi

jquery - jqGrid在EditForm中填充选择

转载 作者:行者123 更新时间:2023-12-01 06:04:02 25 4
gpt4 key购买 nike

我使用jqGrid 4.2.0。在 EditForm 中有两个选择:1) REGION_ID - 填写表单2) TOWN_ID - 必须显示所选区域的城镇

当我第一次打开表单并更改 REGION 时,城镇列表没有更改,并且函数 regionOnChange 没有被调用。但是,当我关闭表单并在更改区域后再次单击“添加”按钮时,城镇列表会发生变化。

请帮忙解决这个问题。

colModel: [
{ name: 'Id', index: 'Id', width: 30, align: 'left', hidden: true, editrules: { edithidden: true} },
{ name: 'NAME', index: 'NAME', width: 250, align: 'left', editable: true, editoptions: { size: 64} },
{ name: 'REGION_ID', index: 'REGION_ID', hidden: true, edittype: "select", editable: true, editrules: { edithidden: true }
, editoptions: { dataUrl: '/Directory/GetRegion?countryId_=0',
buildSelect: function(data) {
var d = jQuery.parseJSON(data)
var s = '<select id="TOWN_ID">';
if (d.length) {
$.each(d, function(i) {
s += '<option value="' + this.id + '">' + this.name + '</option>';
});
}
return s + "</select>";
}
}
},
{ name: 'TOWN_ID', index: 'TOWN_ID', hidden: true, edittype: "select", editable: true, editrules: { edithidden: true }
, editoptions: { dataUrl: '/Directory/GetTowns?regionId_=62',
buildSelect: function(data) {
var d = jQuery.parseJSON(data)
var s = '<select>';
if (d.length) {
$.each(d, function(i) {
s += '<option value="' + this.id + '">' + this.name + '</option>';
});
}
return s + "</select>";
}
}
},

...

jQuery("#list").jqGrid('navGrid', '#pager',
{ del: false, add: true, edit: false, search: false, jqModal: true }, //options
{}, //edit option
{width: 450, jqModal: true, closeAfterAdd: true, afterSubmit: processAddEdit, afterShowForm: processShowForm
,onInitializeForm: onInitFrm }, //add option
{}, //del
{}, //search
{}
);

这是选择另一个区域后城镇列表如何更改的代码

    function onInitFrm(formid) {    
$("select").filter("#REGION_ID").change(regionOnChange);
}
function processShowForm(formid) {
$("select").filter("#REGION_ID").change(regionOnChange);
}

function regionOnChange(reg) {
var f = $("select[id='REGION_ID'] option:selected").val();
$("select[id='TOWN_ID'] option").remove();
if (f > 0) {
$.getJSON("/Directory/GetTowns", { regionId_: f }, getTown);
}
}

function getTown(tow) {
$("select[id='TOWN_ID'] option").remove();
$("select[id='TOWN_ID']").append("<option value=0> </option>");

$.each(tow, function(i) {
$("select[id='TOWN_ID']").append("<option value=" + this.id + ">" + this.name + "</option>");
});
}

最佳答案

我通过添加此行来修复它:, dataEvents: [{ type: 'change', fn:regionOnChange}]编辑选项。 ))

关于jquery - jqGrid在EditForm中填充选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8383925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com