我在我的脚本中使用了一个假的选择框,这意味着隐藏了原始的选择框,出于样式目的,显示了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中检索正确的选择框值?
提前致谢!
答案 0 :(得分:1)
而不是 .attr('selected','selected'); ,尝试 .prop('selected',true);