我在我的asp.net应用程序中使用jqgrid。我在jqgrid的LoadComplete触发器中创建了可编辑fomat中的所有网格行,如下所示:
ids = $("#grid").jqGrid('getDataIDs');
var l = ids.length;
for (var i = 0; i <= l; i++) {
$("#grid").jqGrid('editRow', ids[i], true);
}
在其中两列中,我有下拉列表。在这里,基于外部下拉列表更改,一些行被添加到jqgrid。
添加时,它们最初包含Null值。
因此,为了在网格中显示空值。我正在添加一个列表项,以显示它们。
问题出在这里,我不应该允许用户再次选择空值。
所以,我只需要在下拉列表中选择一个选项之前的那个选项。
以后,它不应该是可见的或可选择的。
请帮忙...
更新
最初网格不包含任何行..
在下拉列表更改中,网格会刷新,并根据下拉列表选择添加新行。
网格数据
for example:
col1 col2 col3 col4
Item1 Null null null
Item2 Null Null Null
同样如下:
此处,Col1不可编辑,其余部分均可编辑。
Col2和Col4是下拉列表
我使用
将选择选项加载到下拉列表中 editoptions: {
value: { " ": " ", "option1": "option1", "option2": "option2", "option2": "option2", "option3": "option3" },
在这里,我的问题是......用户不应该选择那个空选项。
我已将其包含在初始数据绑定中。 如果我不包括那个空选项(“”) 然后显示下拉列表,选项1为默认值,但用户尚未选择任何选项。
答案 0 :(得分:1)
我不确定我理解你的问题是否正确。如果您只需要从下拉列表中删除null
或""
条目,则可以使用dataInit
(editoptions的属性)执行此操作。相应的代码可以是以下
dataInit: function (elem) {
$(elem).find("option[value=\"\"]").remove();
}
可能其他实施可能对您更好。例如,如果当前所选选项为""
,则可以取消选择任何选项。有关详细信息,请参阅the answer。无论如何,我认为您应该使用dataInit
进行一些更正。