2014-11-11 4 views
3

Есть ли способ я могу удалить элемент из selectizeКак удалить элемент из Selectize

  1. AMNT
  2. КОЛ
  3. NA

, когда я прохожу NA он должен удалить частности п.

$.fn.removeSelectorValue = function (value) { 
     var selectize = this[0].selectize; 
     selectize.removeItem(value) 
     return this; 
    }; 

это не t working .. Может ли кто-нибудь мне помочь?

ответ

5

removeItem удаляет выбран объект, указанный по данному значению. Чтобы удалить параметр из списка, вы должны использовать removeOption

Пример - открытая http://brianreavis.github.io/selectize.js/, откройте консоль и введите:

$('#select-beast')[0].selectize.removeOption(1) 

удалить Chuck Тесла из доступных вариантов

+0

Я думаю, что это не работает для меня, параметры идут от сервера из enum – user3247425

+0

Если я правильно понимаю, что вы хотите удалить опцию из списка, когда пользователь ее выбирает, например. когда пользователь выбирает AMNT, тогда список содержит только QTY, NA. Если это не так, пожалуйста, объясните проблему с точки зрения пользователя. –

+0

Я не хочу удалять выбранную опцию, у меня есть 3 списка, поступающих с сервера во время onShow, но я не хочу отображать три списка (qty, amnt, na). onShow сам я должен удалить эту опцию. Не выбирая. Я использую Backbone, Marionette и Selectize для этого. Мой selecter - это что-то вроде this.ui .__ el_String__xyzSelector() – user3247425

0

недавно осуществляет это, и если вы удалить последний элемент, вход выглядит неправильно (как упоминалось выше). Обходной (вид хака) находится в функции onItemRemove, найти длину сохраненных элементов, и если length == 0, использовать JQuery для фиксации ввода - $('.selectize-input').css({'height':'35px'});

1

Я опоздал на вечеринку, но другие методы не делали работа для меня, я не знаю, если это потому, что я тянул список из удаленного источника?

Короче есть 2 шага:

  1. Получить значение выбранного элемента
  2. Удалить, что пункт

Вы можете очевидно сделать этот код меньше, но я оставил его многословным для удобства чтения

var $select = $('#users').selectize(); 
var selectSizeControl = $select[0].selectize; 
// 1. Get the value 
var selectedValue = selectSizeControl.getValue() 
// 2. Remove the option 
selectSizeControl.removeOption(selectedValue) 
1
$(document).on('click', 'div.selectize-input div.item', function(e) { 
    var select = $('#services').selectize(); 
    var selectSizeControl = select[0].selectize; 
    // 1. Get the value 
    var selectedValue = $(this).attr("data-value"); 
    // 2. Remove the option 
    select[0].selectize.removeItem(selectedValue); 

    select[0].selectize.refreshItems(); 
    select[0].selectize.refreshOptions(); 

}); 

Этот код не удаляет элемент из выберите, просто удалите его из выбранных параметров.

+0

Спасибо за ответ, первый ответ работает отлично для меня. – user3247425

Смежные вопросы