繁体   English   中英

如何从 Selectize 中删除项目?

[英]How to remove an item from Selectize?

有什么办法可以从 Selectize 中删除项目?

这是我的示例列表:

  1. 阿姆特
  2. 数量
  3. 不适用

当我通过NA它应该删除特定项目:

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

      return this;
   };

这是行不通的。 谁能帮我这个?

removeItem删除由给定值标识的选定项目。 要从列表中删除选项,您应该使用removeOption

示例 - 打开http://brianreavis.github.io/selectize.js/ ,打开控制台并输入:

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

从可用选项中删除 Chuck Tesla

我参加聚会迟到了,但其他方法对我不起作用,我不知道是不是因为我从远程来源获取列表?

简而言之,有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 )
$(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();

});

此代码不会从选择中删除项目,只是从所选选项中删除它。

最近正在实现这个,如果你删除最后一个项目,输入看起来有问题(如上所述)。 一种解决方法(有点hackish)是在onItemRemove函数中,找到保存项目的长度,如果length == 0 ,则使用 jQuery 来修复输入 - $('.selectize-input').css({'height':'35px'});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM