javascript - 如何获取dom修改的选择框当前选中的选项?

标签 javascript jquery dom select

我在脚本中使用了一个假选择框,这意味着原始选择框被隐藏,并且出于样式目的,会显示 ul。每当此列表中的选定值发生更改时,原始选择框也会发生更改。

有一个更改功能。该函数内包含以下代码:

var el = $(e.currentTarget) ;
$('#my_select_box').children().removeAttr('selected');
$('#my_select_box  option[value="'+el.attr('data-value')+'"]').attr('selected','selected');

更改后,我想在另一个函数中检索原始选择框的新选定值。

但是普通选择器只获取原始值,而不获取新值:

$('#my_select_box option:selected').val() //returns the wrong value

那么如何在我需要的函数中获取新值呢?

我尝试过这个功能:

$("#my_select_box").bind("DOMSubtreeModified", function() {
    console.log($(this).find('option:selected').val());    
});

它返回正确的值,但不是我需要的地方。那么如何从 domtree live 中检索正确的选择框值呢?

提前致谢!

最佳答案

尝试 .prop('selected', true); 代替 .attr('selected','selected');

关于javascript - 如何获取dom修改的选择框当前选中的选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28737757/

相关文章:

javascript - 如何减小 Angular 中 vendor .js 的大小?

javascript - AngularJS 不以与常规 HTML 相同的方式应用 CSS?

javascript - 如何将外部 Javascript 库加载到 Angular 4 组件中

javascript - FullCalendar jQuery 插件 - 设置今天的日期

javascript - jquery选择器使用 'not:'两次

javascript - 关于load函数和json的问题

javascript - 如何按 element.name 对 javascript 对象数组进行排序

javascript - 使用 javascript 使输入类型=文本禁用或只读

java - 用于任意 XML 的 JAXB @XmlAdapter

javascript - 检查文件是否存在不同的扩展名?