从jquery获取asp下拉列表中的选定项

时间:2013-03-07 13:18:59

标签: jquery asp.net .net

我有一个asp下拉列表:

<asp:DropDownList runat="server" ID="select_install_type" name="select install type">
                          <asp:ListItem Values="0" id ="installTypeMeterAndTransmitter" />   
                           <asp:ListItem Values="1" id ="installTypeTransmitterOnly" /> 
                            <asp:ListItem Values="2" id="installTypeMeterOnly"/>
                         </asp:DropDownList>

我在服务器端弹出的项目,具有本地化名称:

private void FillInstallTypeControl()
        {
            this.select_install_type.Items[0].Text = CultureResourceHelper.GetConst("meter_and_transmitter");
            this.select_install_type.Items[1].Text = CultureResourceHelper.GetConst("transmitter_only");
            this.select_install_type.Items[2].Text = CultureResourceHelper.GetConst("meter_only");
        }

现在我想写一个简单的jquery方法,在选择改变时运行, 并根据新的选择做了一些事情:

            $('#select_install_type').change(function () {

                select_install_type.
                var selected = ($("#select_install_type").val());
              }

我可以获取所选的值,但由于它是本地化的,我不想将其文本与某些字符串进行比较,如下所示:

if (selected == "אאאא")
{ //Do something
}

我如何知道选择了哪些项目?也许得到选定的索引或ID? 但我是jquery的新手,所以我不知道该怎么做。

非常感谢提前。

1 个答案:

答案 0 :(得分:3)

尝试:

  $('#' + <%= select_install_type.ClientID %>).change(function () {
            var selected = $(this).val();
  }

或者您可以获得所选选项的ID:

  $('#' + <%= select_install_type.ClientID %>).change(function () {
            var selected = $(this).find('option:selected').prop("id");
  }

jQuery Sample