在选择中获取单击选项的ID

时间:2013-05-29 08:49:36

标签: jquery

HTML:
<select id="leftpane" size="10">
    <option id="1" value="one">One</option>
    <option id="2" value="two">Two</option>
</select>

jQuery:
$("#leftpane").click(function () {
    alert(this.id);
});

在上面的代码中,如果我单击一个项目,它将显示选择的id为“leftpane”。我想要的是被点击的选项的ID。我很容易得到价值:

alert($(this).val());

但如何点击选项的ID?

6 个答案:

答案 0 :(得分:3)

调整选择器以选择option。这将导致事件处理程序被分配给选项而不是下拉。

$("#leftpane option").click(function () {
    alert(this.id);
});

工作示例 http://jsfiddle.net/hJdpV/

答案 1 :(得分:2)

我认为你应该使用change事件;只要选择了新选项,它就会被触发:

$("#leftpane").on('change', function () {
    var id = this.options[this.selectedIndex].id;
});

在事件处理程序中,您使用this.options[this.selectedIndex]查找选定的<option>元素。

答案 2 :(得分:1)

试试这个:

$("#leftpane option:selected").prop('id');

答案 3 :(得分:1)

  

您可以使用以下代码获取所选元素ID。

$("#leftpane").change(function(){
    $(this).find("option:selected").attr("id");
});

OR

$("#leftpane").click(function(){
    $(this).find("option:selected").attr("id");
});

答案 4 :(得分:0)

this is working i have tried .......... 

` $(document).ready(function () {
      $("#leftpane option").click(function () {
        alert(this.id);
          });
    }); `

答案 5 :(得分:0)

请试试这个:)

&#13;
&#13;
$("#leftpane option").click(function() {
    var clickedOptText = $(this).text();
    alert(clickedOptText)
});
&#13;
&#13;
&#13;

OR

&#13;
&#13;
$("#leftpane option").on("click",function(){

   var clickedText = $(this).text();
   alert(clickedText);
   var clickedValue = $(this).value();
     alert(clickedValue);

});
&#13;
&#13;
&#13;