我试图在页面加载后的下拉列表框中设置默认值,该列表框通过ajax调用加载值。无法按照文档中的建议使用setValue方法设置值。请帮忙。以下是该项目的代码片段
的HTML
<select name="country" placeholder="Please Select Country ..."></select>
数据填充JS代码
$('[name="country"]').selectize({
valueField: 'name',
labelField: 'name',
searchField: 'name',
preload: true,
create: false,
render: {
option: function(item, escape) {
return '<div>' + escape(item['name']) + '</div>';
}
},
load: function(query, callback) {
$.ajax({
url: '/countrydata',
type: 'GET',
error: function() {
callback();
},
success: function(res) {
callback(res);
}
});
},
});
默认值设置代码
$('[name="country"]').selectize();
$('[name="country"]')[0].selectize.setValue("Japan");
有没有可以解决这个问题的技巧?我一直在努力进行这项工作几天。
感谢您的阅读。任何帮助,将不胜感激。
您接近了,但是我认为您的问题是您试图将值设置为列表中不存在的选项。您需要先添加选项:
$('[name="country"]').selectize();
var item = {};
item.name = "Japan"; //Based on your render function, which uses item['name'] and labelField, searchField, etc.
$('[name="country"]')[0].selectize.addOption(item);
$('[name="country"]')[0].selectize.setValue(item.name);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句