如何使用 select2.js

Posted

技术标签:

【中文标题】如何使用 select2.js【英文标题】:How to Use select2.js 【发布时间】:2013-01-11 14:05:56 【问题描述】:

我想添加一个表单域,它可以自动填充文本并可以使用多个选项卡(类似于 fb)。 我发现 select2.js 可以帮助我做到这一点,但是当我将多个属性设置为 true 时,我在使用它时遇到了问题。如果我添加多个:true,则页面将其显示为正常选择。

我发现 select2 页面上的文档令人困惑。

我是他们所有人的新手,请帮帮我。

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>          
<script type="text/javascript" src="select2.js"></script>          

 <link href="select2.css" rel="stylesheet"/>
    <script src="select2.js"></script>
    <script>
        $(document).ready(function()  
        $("#e1").select2([multiple: true]);
        );
    </script>

</head>
<body>
<input type="button" id="123">click
</br>
<input type="hidden" id="1234">
<select id="e1">
        <option value="AL">Alabama</option>
        <option value="Am">Amalapuram</option>
        <option value="An">Anakapalli</option>
        <option value="Ak">Akkayapalem</option>

        <option value="WY">Wyoming</option>
    </select>

</body>
</html>

【问题讨论】:

这里是示例教程youtu.be/gTNQOxvuUv0 【参考方案1】:

仅在标记中添加属性“multiple”和宽度。

<select multiple id="e1" style="width:300px">

和 js 一样:

$(document).ready(function()  
 $("#e1").select2();
);

在此处查看小提琴:http://jsfiddle.net/marcusasplund/jEADR/2/

附注;您在问题中发布的代码中加载了 2 次 select2.js。

【讨论】:

这在 Cakephp 上对我有用。花了很长时间试图弄清楚他们在 select2 git 上发挥了什么魔力......谢谢。 @mattblang 你是对的,也许“仅在标记中”有点令人困惑。在 css 中指定宽度可能会更好。可能是,因为您必须将 select2 构造的容器的宽度设置为:.select2-container-multi width: 300px 然后,如果在目标选择元素上根本没有指定宽度,则 select2 元素将仅以 2*5px 填充开始和 0px 宽度 = 10px。对于一个好的用户体验来说,它可能有点小。在这里更新小提琴:link 在您想要的选项上设置选定的属性作为初始值:&lt;option value="Am" selected&gt;Amalapuram&lt;/option&gt; 请参见此处的小提琴:http://jsfiddle.net/jEADR/326/【参考方案2】:

您可以覆盖特定于 select2.js 的类:

.select2-container-multi .select2-choices 
    width: 150px;

它应该可以工作。

【讨论】:

【参考方案3】:

您可以在 select 中使用多个属性

 <html>
  <head>
    <link href="select2.min.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="jquery.js"></script>      
    <script type="text/javascript" src="select2.min.js"></script>     
 </head>
 <body>
    <select multiple id="getCountry">
      <option value="India">India</option>
      <option value="Afghanistan">Afghanistan</option>
      <option value="japan">japan</option>
    </select>
    <input type="button" id="submit" value="Submit">click
    <script>
      $(document).ready(function()    
        $("#getCountry").select2();   
      );      
    </script>   
  </body>
</html>

【讨论】:

以上是关于如何使用 select2.js的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:如何使用 select2.js 更新多个 Select 选项

如何使用 Select2.js 对从 Ajax 调用返回的数据进行多选结果?

如何默认选择 select2.js 的下拉值

如何在 select2.js v4.0 中显示 ajax 数据?

Select2.js v4.0:如何将过滤文本传输到ajax源数据?

如何结合 select2 js 和 WebForms