相当于多选asp列表框中的OnSelect javascript钩子

时间:2009-09-04 16:03:24

标签: asp.net javascript

我有一个多选<asp:listbox>和一个按钮。我想禁用该按钮,除非选择了列表框中的&gt; = 1项。我怎么能这样做客户端?我找不到某种OnSelect回调,只有OnSelectedIndexChanged来自谷歌搜索似乎很难用于此行为,可能是不可能的。

3 个答案:

答案 0 :(得分:2)

使用OnChange事件,并计算所选项目:

<script>function enableButton(opt) {
      var selected = new Array();
      var count = 0;
      for (var intLoop=0; intLoop < opt.length; intLoop++) {
         if (opt[intLoop].selected) {
            count++;
         }
      }
      if (count >= 1)
      {
       // disable button
      }
   }
</script>

<select id="list" style="font-size: 11px;"   
    onChange="enableButton(this.options);" MULTIPLE SIZE="5">
    <option value="0">Select...</option>
    <option value="1">1</option>
    <option value="2">2</option>
</select>

编辑: ASP:将ListBox呈现为HTML,如上面的代码所示。所以你需要做的就是在onchange属性中添加脚本:

myListBox.Attributes.Add("onchange", "enableButton(this.options);");

答案 1 :(得分:2)

使用jQuery不会那么难。一些东西 -

$("select#myListBox").change(function() {
   if ($("select#myListBox option:selected").length >= 1)
      $("input#myButton").attr("disabled", "true");
}

所有人都欢呼强大的jQuery。

答案 2 :(得分:1)

选择框的OnClick或OnChange与“OnSelect”相同。