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?
答案 0 :(得分:3)
调整选择器以选择option
。这将导致事件处理程序被分配给选项而不是下拉。
$("#leftpane option").click(function () {
alert(this.id);
});
答案 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)
请试试这个:)
$("#leftpane option").click(function() {
var clickedOptText = $(this).text();
alert(clickedOptText)
});
&#13;
OR
$("#leftpane option").on("click",function(){
var clickedText = $(this).text();
alert(clickedText);
var clickedValue = $(this).value();
alert(clickedValue);
});
&#13;