2017-02-20 6 views
3

У меня есть проблема при выборе JS, когда заданное текущее значение является множественным значением. Я установил из ответа Ajax в формате Json, вот мой код.Установить текущее несколько значений при выборе JS

$(".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> 

А вот код selectize

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" (одно значение) работает правильно

ответ

1

Вам необходимо использовать метод addItem(value, silent). Как объясняется в docs, addItem «выбирает» пункты, где передача true для «silent» будет применяться к исходному входу.

1

Вы можете задать несколько значений selectize так:

$selectz[0].selectize.setValue([optionid,optionid]); 

Так что в вашем примере должно быть:

$selectz[0].selectize.setValue(["US","CA"]);