带有多个选择标记的jQuery select2

时间:2013-05-26 13:42:14

标签: javascript jquery

我正在使用jQuery Select2 2.1并尝试将其应用于具有相同id类的多个select标签。 我的代码如下所示:

<select id="e1" style="width: 300px">
    <option value="AL">Alabama</option>
    <option value="WY">Wyoming</option>
    <option value="NY">New York</option>
</select>
...
<select id="e1" style="width: 300px">
    <option value="AL">Alabama</option>
    <option value="WY">Wyoming</option>
    <option value="NY">New York</option>
</select>

使用的javascript代码是:

<script>
    $(document).ready(function() { $('#e1').select2(); });
</script>

问题是只有第一个select标签才能获得正确的select2类。 我不知道select2是否允许这种类型的使用(我无法在文档中识别此信息),但另一个选项是增加javascript函数{ $('#e1').select2(); }以允许{ $('#e(1..999)').select2(); },之后我会调整PHP代码<select id="e<?php echo $i ?>" style="width: 300px">,其中$ i递增。

我怎样才能做到这一点?感谢。

2 个答案:

答案 0 :(得分:1)

首先,你真的需要有2个具有相同身份的选择吗?

其次,为了匹配两者,你可以做$('[id="e1"]').select2(); - 但你不应该imo。

答案 1 :(得分:1)

使用具有相同ID的多个元素是非常糟糕的做法。改为使用一个类......这就是他们的目的。

HTML:

<select class="select2" style="width: 300px">
    <option value="AL">Alabama</option>
    <option value="WY">Wyoming</option>
    <option value="NY">New York</option>
</select>
...
<select class="select2" style="width: 300px">
    <option value="AL">Alabama</option>
    <option value="WY">Wyoming</option>
    <option value="NY">New York</option>
</select>

JavaScript的:

$(document).ready(function() { $('.select2').select2(); });