【发布时间】:2012-01-24 22:44:26
【问题描述】:
我有两个具有相同类名的选择下拉菜单,我想在选择选项值时返回标题。但是使用我的代码,当第二个下拉列表更改时,它仍然返回在第一个选项下拉列表中选择的值
【问题讨论】:
标签: javascript jquery html
我有两个具有相同类名的选择下拉菜单,我想在选择选项值时返回标题。但是使用我的代码,当第二个下拉列表更改时,它仍然返回在第一个选项下拉列表中选择的值
【问题讨论】:
标签: javascript jquery html
你用来提取值的代码:
size_title=jQuery('.child_Select_Size option:selected').attr("title");
匹配所有.child_Select_Size 元素。要仅限于触发事件的事件,请尝试:
size_title=jQuery('option:selected', this).attr("title");
【讨论】:
因为在change 处理程序内部jQuery('.child_Select_Size option:selected') 将同时选择元素selected option 并在这些匹配的元素上调用attr('title') 将始终给出第一个元素的title。
您应该使用指向引发事件的element 的this 关键字。 $(this).find 只会查看引发事件的元素内部。如果没有冲突,也可以使用$ 而不是jQuery,或者使用jQuery.noConflict()
$('.child_Select_Size').change(function(elmt){
alert($(this).find('option:selected').attr("title"));
});
【讨论】:
您只需要使用 $(this) 来引用已更改的选择框,而不仅仅是使用新的选择(它将抓取所有内容)。
【讨论】: