当设置当前值为多个值时,我在选择JS时遇到问题。我用Json格式的Ajax响应设置,这是我的代码。
$(".rule_list").on("click",function(e) {
e.preventDefault();
$.ajax({
url: 'getruledata,
dataType: 'json'
})
.done(function(data){
console.log(data);
$selectz[0].selectize.setValue(data[0].control_country);
})
});
这是我的HTML代码
<select id="select-country" placeholder="Pick a countries..."></select>
这里有选择性的代码
var $selectz = $('#select-country').selectize({
maxItems: null,
valueField: 'iso',
labelField: 'nice_name',
searchField: 'nice_name',
options: {!! $country !!},
create: false,
});
这是我的Json响应值格式
[{"id":2,"name":"XSA 2","user_id":"3","control_device":"Mobile","control_country":"US,CA","offer_id":"2","rule_id":"1","status":"2"}]
如果"control_country":"US,CA"
(多个值)在将当前值设置为输入表单时无效,但是"control_country":"US"
(单个值)正常工作,我就会陷入此步骤
答案 0 :(得分:3)
您可以设置多个值来进行选择,如下所示:
$selectz[0].selectize.setValue([optionid,optionid]);
所以在你的例子中它应该是:
$selectz[0].selectize.setValue(["US","CA"]);
答案 1 :(得分:1)
您需要使用方法addItem(value, silent)
。如docs中所述,addItem“选择”项目,其中将true传递给“silent”将更改应用于原始输入。