如何获取 dom 修改后的 select 框的当前 selected 选项?
How to get the currently selected option of a dom modified select box?
我在我的脚本中使用了一个伪造的 select 框,这意味着原来的 select 框被隐藏了,出于样式目的,一个 ul 出现了。每当此列表的 selected 值更改时,原始 select 框也会更改。
有一个更改功能。该函数内有以下代码:
var el = $(e.currentTarget) ;
$('#my_select_box').children().removeAttr('selected');
$('#my_select_box option[value="'+el.attr('data-value')+'"]').attr('selected','selected');
更改后我想在另一个函数中检索原始 select 框的新 selected 值。
但是正常的selector只得到原来的值,没有得到新的:
$('#my_select_box option:selected').val() //returns the wrong value
那么如何在我需要的函数中获取新值呢?
我试过这个功能:
$("#my_select_box").bind("DOMSubtreeModified", function() {
console.log($(this).find('option:selected').val());
});
它 returns 是正确的值,但不是我需要的地方。那么如何从 domtree live 中检索正确的 select 框值?
提前致谢!
而不是 .attr('selected','selected');,试试 .prop('selected', true );
我在我的脚本中使用了一个伪造的 select 框,这意味着原来的 select 框被隐藏了,出于样式目的,一个 ul 出现了。每当此列表的 selected 值更改时,原始 select 框也会更改。
有一个更改功能。该函数内有以下代码:
var el = $(e.currentTarget) ;
$('#my_select_box').children().removeAttr('selected');
$('#my_select_box option[value="'+el.attr('data-value')+'"]').attr('selected','selected');
更改后我想在另一个函数中检索原始 select 框的新 selected 值。
但是正常的selector只得到原来的值,没有得到新的:
$('#my_select_box option:selected').val() //returns the wrong value
那么如何在我需要的函数中获取新值呢?
我试过这个功能:
$("#my_select_box").bind("DOMSubtreeModified", function() {
console.log($(this).find('option:selected').val());
});
它 returns 是正确的值,但不是我需要的地方。那么如何从 domtree live 中检索正确的 select 框值?
提前致谢!
而不是 .attr('selected','selected');,试试 .prop('selected', true );