如何获取dom修改选择框的当前选定选项?

时间:2015-02-26 08:39:19

标签: 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中检索正确的选择框值?

提前致谢!

1 个答案:

答案 0 :(得分:1)

而不是 .attr('selected','selected'); ,尝试 .prop('selected',true);