使用 selectize api for listbox in selectize.js 设置默认值
Setting default values with selectize api for listbox in selectize.js
我试图在下拉列表框中设置页面加载时的默认值,该下拉列表框通过 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);
我试图在下拉列表框中设置页面加载时的默认值,该下拉列表框通过 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);