我最近一直在测试这个库,并注意到在使用JqGridColumnEditable映射模型属性时,我们可以指定dataUrl参数,以便库可以获取选择输入的数据(EditType = JqGridColumnEditTypes.Select)。
我的问题很简单:我是否真的需要实现buildSelect js函数来实际创建选项?我的意思是,我一直在寻找一个json模式来返回,所以它可以自动构建它,因为我无法相信它没有实现。
有人知道它是否在从dataUrl收到json时自动填充选择输入?预期的格式是什么? 如果它还不可能,那么你有什么建议从buildSelect函数访问select输入以便手动填充它?我试过'这个',没有引号,也没有成功。
答案 0 :(得分:0)
不幸的是,这个限制在jqGrid本身内部。您可以查看文档here - 它清楚地表明,如果您使用dataUrl
,则服务器必须返回准备使用select
元素,或者您需要使用buildSelect
函数。< / p>
使用buildSelect
函数时,如果不访问select
元素,则返回一个元素。它可能看起来像这样(此示例假定您的数据是具有Key和Name属性的对象的集合):
var buildSelectFunction = function(data) {
var selectItems = JSON.parse(data.responseText);
var selectMarkup = '<select>';
if (selectItems && selectItems.length) {
for (var i = 0; i < selectItems.length; i++) {
var selectItem = selectItems[i];
selectMarkup += '<option value="' + selectItem.Key + '">' + selectItem.Name + '</option>';
}
}
return selectMarkup + '</select>';
};