jqgrid typeahead,键值为

时间:2017-07-06 04:09:28

标签: jqgrid bootstrap-typeahead

我正在使用twitter bootstrap typeahead和Guriddo jqgrid版本5.2.1表单编辑。我更喜欢使用键值对而不是值。下面的所有代码都可以使用,唯一缺少的是当编辑表单为现有记录打开时,它显示密钥(数字)而不是值(公司名称)。网格列都是动态创建的。我认为如果在editoptions中,如果我可以指定一个值:公司名称,它可能是一个很好的黑客,但这不起作用。

label: svf.fieldLabel,
name: svf.tf[0].nativename,
width: 150,
editable: true,
edittype: "text",
formatter: 'select',
formatoptions:
{
    value: getEditOptionsValue(svf.relatedItemId)
},

editoptions: {
dataInit: function (element) {
    var data = JSON.parse(getSelects(svf.relatedItemId));
    $(element).attr("autocomplete", "off").typeahead({
        appendTo: "body",
        dataType: "json",
        displayText: function (item) { return item.name; },
        source: function (query, process) {
            return process(data);
        }
    });
    } //end datainit
}//end edit options

1 个答案:

答案 0 :(得分:1)

为了解决您的问题,您需要使用自定义的非格式化功能。 预定义的非格式化函数返回键而不是值。 您可以在documentation here

中看到更多内容

您可以使用以下代码:

label: svf.fieldLabel, name: svf.tf[0].nativename, width: 150, editable: true, edittype: "text", formatter: 'select', unformat : function(value, options, cellObject) { return value; },