我正在生成我的HTML標記服務器端(asp.net mvc4)。
我想要預先設置我的HIDDEN字段的值和描述,避免使用ajax調用來獲取initSelection
函數中的數據。select2和遠程數據:預設值和文本避免服務器往返
我見過有人設置使用JavaScript值:
$("#select2Test").select2('data', { id: 20832, text: 'LONDON' })
但它仍然需要我額外的代碼來實現的東西已經從服務器在一個視圖模型已經流。
我想出這樣的事情:
<input type="hidden" id="select2Test" name="select2Test" value="20832" data-option="LONDON" />
我已經使用了HTML5數據屬性data-option
我查找的描述,我已經實現了initSelection函數,這樣我可以讀我場的價值和它的數據屬性:
initSelection: function (item, callback) {
var id = item.val();
var text = item.data('option');
var data = { id: id, text: text };
callback(data);
},
我見過initSelection被稱爲只有當隱藏字段設置了數值。
一切似乎正常工作。
有沒有更好的選擇?
你在做什麼回調?加載頁面時加載該數據不是更好嗎? – Kenneth
@Kenneth:我已經更新了我的問題。那裏有完整的代碼。該頁面已被加載。我的控制器返回一個視圖和一個視圖模型與整個數據集。 – LeftyX