如何使用JavaScript获取ListBox中每个ListItem的值

时间:2015-03-18 13:08:52

标签: javascript asp.net

我有一个动态填充的ListBox。如果ListItem的值与特定的字符串匹配,我想将每个选定的ListItem标记为“selected”。

ASP.NET:

<asp:ListBox ID="lstComputers" runat="server"></asp:ListBox>

C#:

//code that populates lstComputers.
//I got this part working properly already

使用Javascript:

//I'm really bad at javascript, so here's the sudo code of what I'd like done
For each ListItem in lstComputers{
  If ListItem.value like 'HP%' then{  //assuming % is like a wild card in SQL
    ListItem.selected = true;
  }
}

请帮我解决JavaScript问题。

由于

2 个答案:

答案 0 :(得分:1)

试试这个: -

function SelectListBox() {
        var lstComputers = document.getElementById("<%= lstComputers.ClientID %>");
        for (var i = 0; i < lstComputers.options.length; i++) {
            if (lstComputers.options[i].text.indexOf("HP") > -1) {
                lstComputers.options[i].selected = true;
            }
        }
    }

此外,如果您想在ListBox控件中进行多项选择,请确保将SelectionMode属性设置为Multiple

答案 1 :(得分:0)

Asp.net ListBox将生成Select Tag的html,我们可以轻松地使用jQuery访问javascript中的select元素及其选项。

以下是可以完成工作的Javascript代码。

<script>   
 $("#lstComputers option").each(function(){

      var option = $(this);
    if(option.text().indexOf('HP') == 0)
    {
      option.attr('selected','selected');
    }

    });

</script>