2013-04-09 68 views
0

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

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

有谁知道它是否会自动填充选择输入接收从dataUrl json?预期的格式是什么? 如果尚未(可能),您有什么建议从buildSelect函数访问选择输入以手动填充它?我已经尝试过'这个',没有引号,并且不太合适。

回答

0

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

当您使用buildSelect函数时,您不访问select元素,您将返回一个。它可能看起来像这样(此示例假设您的数据是具有密钥和名称属性的对象的集合):

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>'; 
}; 
相关问题