selectize.js:清除onChange事件中的选定值

时间:2015-01-15 00:31:46

标签: onchange selectize.js

我试图根据条件清除onChange事件中选择的值。它是否已存在于选定列表中。 但是我无法使用
清除价值 来自onChange对象的$select[name][0].selectize.clear();。我尝试了它的各种版本,比如使用元素id。 请帮帮我。

$select[name].selectize({
valueField: 'lot_name',
labelField: 'lot_name',
create: true,
options: res,
render: {
    option: function (item, escape) {
         return '<div>' +
             '<span><strong>' + item.lot_name + '</strong></span>' +
             '</div>';
     },
     option_create: function (data, escape) {
      return '<div class="create">Map to <strong>' + escape(data.input) + '</strong>&hellip;</div>';
     }
 },
onChange: function (value) {
     if($.inArray(value, selectedList) > -1){
         alert("Lot " + value + " has already been selected. Please recheck your selection and  try again");
    $select[name][0].selectize.clear();
     } else {
          // else logic
     }
 }
});

1 个答案:

答案 0 :(得分:5)

这是我找到的解决方案。

     /* Using the Below inside onChange event handler
      var obj = $(this);
      obj[0].setValue("");
     */


onChange: function (value) {
 var obj = $(this);
 if (($.inArray(value, selectedList) > -1)) {
   alert("Lot " + value + " has already been selected. Please recheck your selection and try again");
   obj[0].setValue("");
 } else {
}
},