多选字段(Jquery Select2插件)
Multiple select field (Jquery Select2 plugin)
我正在使用Jquery Select2插件创建一个多选输入字段。类似于第页的示例https://select2.github.io/examples.html,我已经创建了我的代码:
$(document).ready(function() {
$("#category_tags___name___tagname").select2(
{placeholder: "Select tags"},
);
现在在服务器端,我使用PHP框架(Symfony2)创建HTML表单,大致如下:
<select id="category_tags___name___tagname" name="category[tags][__name__][tagname][]" required="required" style="width:300px" multiple="" tabindex="-1" class="select2-hidden-accessible">
<option value="1">tag1</option>
<option value="2">tag2</option>
<option value="3" selected="selected">tag3</option>
</select>
这很好,单击字段后,可用选项将显示在下拉列表中。但问题是,一旦我选择了任何一个选项,它就会作为标记添加到字段中,但它仍然显示在下拉列表中,并且没有被取消选中,即。如果我在下拉菜单中再次单击该选项,它会被取消选中。
我想要的功能是,一旦选择了一个选项,它就必须以标记的形式出现在字段中,但不应该再出现在下拉列表中。
我在网上搜索了可能的解决方案。但到目前为止什么也没发现。
我是Jquery的新手。所以我们非常感谢所有的帮助。
根据ref站点中给出的文档:https://select2.github.io/examples.html,实现目标的一种方法是使用select2:select
和select2:unselect
事件来触发您的自定义行为:
试试下面这样的东西:
首先在html中为每个选项值指定一个特定的ID
,类似于:
<option value="1" id='specific-1'>tag1</option>
<option id='specific-2' value="2">tag2</option>
<option value="3" id='specific-3' selected="selected">tag3</option>
js:
//when select is triggered
$("#category_tags___name___tagname").on("select2:select", function (e) {
var myID = '#'+e.data.id //getting specific id from event
$(myID).css('display','none') //hide it using css
});
//when unselect is triggered
$("#category_tags___name___tagname").on("select2:unselect", function (e) {
var myID = '#'+e.data.id //getting specific id from event
$(myID).css('display','block') //show it using css
});
p.S:以上代码未经测试。但是,逻辑似乎是正确的
我更喜欢将数据以json的形式发送到客户端。如果我需要举一个的例子
data = "[{id:"",text:""},{id:"",text}]";
如果你像上面那样发送数据,你可以选择多个,当选择任何一个时,它都不会再次显示。
$('#id').select2('data', data);
对于你的html页面,你只需要创建一个足够选择2 的文本框
<input type="text" id="id">
相关文章:
- 如何在Angular2中使用jQuery插件
- 可以前端maven插件使用节点,npm已经安装
- 如何按字母顺序对select2(jQuery插件)选项进行排序
- 如何加载JSON数据以将其与select2插件一起使用
- 设置要在 select2 插件中选择的最小值
- 在 Select2 jquery 插件中取消选择选项
- 将 select2 插件与 Zepto 一起使用
- 动态添加的元素上的事件处理程序不适用于 select2 插件
- 在select2插件中引入ajax调用时的延迟
- 如何使用HTML5'使用Jquery的本地存储's select2插件
- 使Jquery Autocomplete或Select2插件在淘汰foreach绑定中工作
- 在AngularJS应用程序中使用select2插件
- django select2插件中所有选定项目的列表
- 是否有办法让jQuery插件select2保留每个选择选项的类?
- 如何在php中获得select2(插件)标签值
- 如何停止选择框使用select2插件
- 如何在select2插件中设置选择值
- 如何将复选框添加到JQuery Select2插件中
- 多选字段(Jquery Select2插件)
- 使用 Select2 插件读取的 JSON 文件