如何使用select2在输入框上设置默认值?这是我的HTML
和我的javascript:
$("#itemId0").select2({ placeholder: 'Select a product', formatResult: productFormatResult, formatSelection: productFormatSelection, dropdownClass: 'bigdrop', escapeMarkup: function(m) { return m; }, minimumInputLength:1, ajax: { url: '/api/productSearch', dataType: 'json', data: function(term, page) { return { q: term }; }, results: function(data, page) { return {results:data}; } } }); function productFormatResult(product) { var html = "
"; html += product.itemName ; html += " |
这是问题:如果我不将输入框初始化为select2框,我可以显示输入框的默认值"项目编号1",
但是当我用select2初始化它时,例如.$("#itemId0").select2({code here});
我不能显示我的文本框的默认值..
任何人都知道如何显示默认值?
使用initSelection进行旧的初始选择
过去,Select2需要一个名为initSelection的选项,该选项在使用自定义数据源时定义,允许确定组件的初始选择.这已被数据适配器上的当前方法所取代.
{ initSelection : function (element, callback) { var data = []; $(element.val()).each(function () { data.push({id: this, text: this}); }); callback(data); } }
您也可以使用设定值.
您应该直接在底层元素上调用.val.如果需要第二个参数(triggerChange),还应该在元素上调用.trigger("change").
$("select").val("1").trigger("change"); // instead of $("select").select2("val", "1");
参考文献:
https://select2.github.io/announcements-4.0.html
https://github.com/select2/select2/issues/2086
http://jsfiddle.net/F46NA/7/
您需要使用initSelection
Select2文档中描述的方法.
从文档:
创建Select2时调用,以允许用户根据元素select2的值附加初始化选择.
在您的情况下,请查看" 加载远程数据"示例,因为它显示了如何将其与AJAX请求结合使用.
我希望这有帮助.