【问题标题】:How to disable all items in select box when i am selecting 'ALL' item using select2 jquery当我使用select2 jquery选择“所有”项目时如何禁用选择框中的所有项目
【发布时间】:2014-12-16 08:54:15
【问题描述】:

我正在使用 select2 jquery 在 asp.net 中工作。在我的选择框中,我有 10 个项目,包括“全部”。 我的要求是当我选择所有项目时,必须禁用其余项目,当我删除所有标签时,应该启用整个项目。 http://ivaynberg.github.io/select2/ 我的 jquery 写在下面。

 $(document).ready(function () {
    $("#select1").select2({
        placeholder: 'Find and Select Books' 
     }).on("change", function (e) {
           alert(e.val)
    });
});

有人帮帮我吗????

html 标记:

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="header1" runat="server">
<title>JQuery Select2 Plug-in</title>
<script type="text/javascript"   src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript" src="D:/DOTNET/ITS_GOOGLE_CHART_TABS_ListBOX/Scripts/select2- 3.4.1/select2.js"></script>
<link href="D:/DOTNET/ITS_GOOGLE_CHART_TABS_ListBOX/Scripts/select2-3.4.1/select2.css"  rel="stylesheet"/>

 </head>
 <body>
<form runat="server">
<select id="select1" runat="server" datasourceid="ds1" datatextfield="emp_name" multiple="true" style="width:300px"/>
<asp:SqlDataSource ID="ds1" runat="server" ConnectionString="<%$ connectionstrings:constr %>" SelectCommand="select top 10 * from emp" />

  </form>
</body>
<script type="text/javascript">
$(document).ready(function () {
    $("#select1").select2({
        placeholder: 'Find and Select Books' 

     }).on("change", function (e) {

        alert(e.val)
    });

});


</script>
</html>

  C# code:
  select1.Items.Insert(0, new ListItem("ALL", "ALL"));

【问题讨论】:

  • 请分享html代码
  • select top 10 * from emp 返回的值是什么?能否请您从您的 html 的源代码中告诉我。

标签: javascript jquery asp.net


【解决方案1】:

您可以select all the values,而不是在单击All 时禁用项目。代码在这里:

$("#e1").select2();
$("#e1").on("change", function(e) {
    var selected = e.val;
    if ($.inArray("all", selected) !== -1) {
        var id = "e1"
        var element = $("#" + id);
        var selected = [];
        element.find("option").each(function(i, e) {
            if($(e).attr("value")=="all")
                selected[selected.length] = $(e).attr("value");
        });
        element.select2("val", selected);
    }
});

Jsfiddle 链接是 http://jsfiddle.net/jEADR/734/ 。 希望对你有帮助...

礼貌:@MarcusAsplund

【讨论】:

  • 非常感谢您的回复。但我想当我选择“全部”时,休息他们必须禁用
  • 当您选择所有项目都被推送到输入框中,并且没有项目将显示在下拉列表中,这与禁用选项一样好..我的意思是您为什么要专门禁用这些项目。 ..
  • 如果选择框超过100条,就不好全部显示了。
  • 这对你有用吗jsfiddle.net/jEADR/734。选择所有后,您无法选择任何选项...
  • 您的代码对我有帮助。但我无法理解编码。选择“全部”时如何限制其他项目
猜你喜欢
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-27
相关资源
最近更新 更多