我正在服务器端(asp.net mvc4)生成我的 HTML 标签。
我想预先设置我的 HIDDEN 字段的值和描述,以避免 ajax 调用来获取initSelection
函数中的数据。
我见过有人使用 javascript 设置值:
$("#select2Test").select2('data', { id: 20832, text: 'LONDON' })
但它仍然需要我额外的代码来实现已经从服务器流式传输到视图模型中的东西。
我想出了这样的事情:
<input type="hidden" id="select2Test" name="select2Test" value="20832" data-option="LONDON" />
我使用了data-option
带有查找描述的 HTML5 数据属性,并实现了 initSelection 函数,以便我可以读取字段的值及其数据属性:
initSelection: function (item, callback) {
var id = item.val();
var text = item.data('option');
var data = { id: id, text: text };
callback(data);
},
我已经看到只有在隐藏字段设置了值时才调用 initSelection。
一切似乎都正常工作。
有没有更好的选择?