0

我最近一直在测试这个库,并注意到当使用 JqGridColumnEditable 映射模型属性时,我们可以指定 dataUrl 参数,以便库可以获取选择输入的数据(EditType = JqGridColumnEditTypes.Select)。

我的问题很简单:我真的必须实现一个 buildSelect js 函数来实际创建选项吗?我的意思是,我到处搜索要返回的 json 模式,以便它可以自动构建它,因为我不敢相信它没有实现。

有谁知道它是否会在从 dataUrl 接收到 json 时自动填充选择输入?预期的格式是什么?如果(还)不可能,您对从 buildSelect 函数访问选择输入以手动填充它有什么建议?我试过'this',没有引号,但没有成功。

4

1 回答 1

0

不幸的是,这个限制在 jqGrid 本身内部。您可以在此处查看文档- 它清楚地表明,如果您正在使用dataUrl服务器,则必须返回准备好使用的select元素,或者您需要使用buildSelect函数。

当您使用该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>';
};
于 2013-04-25T09:09:05.707 回答