我的网站上有两个select
个标签。当我尝试在一个select
标记中获取所选项目的文本时,我看到它返回两个select
标记的两个文本,即使我指定通过类检索数据的选择属性。
我的代码是
$('select.select').change(function(e) {
e.preventDefault();
var val1 = $(' option:selected').text();
alert(val1);
});
$('select.select2').change(function(e) {
e.preventDefault();
var val2 = $(' option:selected').text();
alert(val2);
});
警报始终包含连接的两个select
标记的文本。
您的平常帮助表示赞赏。
答案 0 :(得分:1)
或许更新选择器以指定选择的上下文:
$('select.select').change(function(e) {
e.preventDefault();
var val1 = $('option:selected', this).text();
alert(val1);
return false;
});
选择器$('option:selected', this)
将返回在已更改元素的上下文中找到的值。
答案 1 :(得分:1)
正是由于这个$('option:selected').text();
,您在页面中有两个选定的选项,因此它会返回两个值。
答案 2 :(得分:1)
你需要这样做:
// Call the change event for the select
$('select.select').change(function (e) {
e.preventDefault();
// Get the selected option for the select in current scope
var text = $(this).find('option:selected').text();
alert(text );
//return false; No need of this, as we already called the preventDefault() method
});
答案 3 :(得分:1)
您需要在检索值时指定类:
var val1 = $('.select option:selected').text();
和
var val2 = $('.select2 option:selected').text();