繁体   English   中英

如何在jQgrid中添加动态下拉列表值?

[英]How to add dynamic dropdown values in jQgrid?

在select下拉菜单的editOptions中,我们在实例化grid_data之后传递一些静态值。 一切正常,直到我们选择编辑。 由于数据保持恒定和静态。

所有下拉列表均保持不变。 但这不应该发生,它必须将适当的数据加载到应该是动态的行中。

var data = {
        "id" : "cityGrid",
        "grid_data" : response,
        "colNames" : ['City Name','Select State','local'],
        "colModel": [       
            {"name":'cityName',"index":'cityName', "width":150,"editable": true,"editoptions":{"size":"20","maxlength":"30"}},
            {"name":'selectState',"index":'selectState',"width":90,"editable": true,"edittype":"select","editoptions":{"value":"TN:Tamilnadu;AP:Andhrapradesh;MP:MAdhyapradesh",
    "class":"chosen-select","width":200,"custom":true,"custom_func":util.applyChosen}},
            {"name":'local',"index":'local', "width":70, "editable": true,"edittype":"checkbox","editoptions": {"value":"Yes:No"},"unformat": "aceSwitch"}
        ],
        "editurl": "/dummy.html",
        "caption": "City Information"       
    };

“editoptions”:{ “值”: “TN:塔米尔纳杜; AP:安得拉邦; MP:中央邦”

我还遇到了几个搜索结果之后传递的dataUrl。 但这还没有达到标准,因为我需要用它发送一个参数,这在那儿是不可能的。

甚至考虑取一个特定行数据的值,并使其选择在顶部,并使用静态数据加载其余部分,因为我使用按键触发的所选数据形式,而我的问题将得到解决。 这里的问题是用两种类型进行编辑,一种是单行和多行。

这是我被感动的阶段。 有谁解决了这个问题。 jQgrid的任何新版本都可以解决此问题吗?

提前致谢

首先,您可以基于动态生成dataUrl 最简单的方法是将dataUrl定义为回调函数: dataUrl: function (rowid, value, name) { ... }

在另一边,似乎你需要生成选择具有<option>其中value一样的显示文本: <option value="TN">Tamilnadu</option> 如果在编辑后将值TN保存在列中,那么您可能应该用TNAPMP等数据MP而不是TamilnaduAndhrapradeshMAdhyapradesh )保留(填充)相应的列。 您应该使用formatter: "select" (请参见此处)以显示输入值TNAPMPTamilnaduAndhrapradeshMAdhyapradesh 格式化formatter: "select"格式化formatter: "select"使用formatoptions.value或(未定义) editoptions.value值。 因此,必须先设置editoptions.value (或formatoptions.value或两者), 然后才能创建网格内容, 然后再由jqGrid处理服务器响应。

为了能够动态设置editoptions.value可以使用setColProp方法。 如果您从服务器加载数据,则可以在服务器响应中包括具有异常name属性的所有列属性。 例如,可以在beforeProcessing回调内部执行此操作。 回答 这一个这一个描述详细的办法。 答案显示了如何使用公共列name属性(“ c1”,“ c2”,“ c2”)并使用jsonmap读取相对公共的命名数据。 如果需要,可以设置jsonmap而不是name属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM