2017-07-06 67 views
0

我使用的twitter引導typeahead和Guriddo jqgrid Version 5.2.1表單編輯。我寧願用關鍵值對來做這件事,而不是僅僅重視。下面的所有代碼都能正常工作,唯一缺少的是編輯表單打開時顯示鍵(數字)而不是值(公司名稱)的現有記錄。網格列都是即時創建的。我認爲如果在editoptions中,如果我可以指定一個值:公司名稱,它可能是一個很好的黑客入侵,但這是行不通的。jqgrid typeahead鍵值

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

爲了解決您的問題,您將需要使用自定義的無格式功能。 預定義的無格式函數返回鍵而不是值。 更多您可以看到我們的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; },

+0

非常感謝,這做到了。不過,我也使用了自定義格式化程序。 – user1755074

+0

要回答我的問題,使用自定義格式化程序是關鍵。這樣格式化程序不僅適用於網格,而且還適用於編輯表單中的「文本」類型。不過,unformatter也會被使用。 – user1755074