我有以下内容:
$(document).ready(function(){
var span = $('#multiple_group_select_chosen span:first');
span.on('DOMSubtreeModified', function(){
console.log('bla');
if (['No groups in this year', '', 'Now please select a group', 'Please select a'].includes(span.text())) {
$('#classes').disabled = true;
} else {
$('#classes').disabled = false;
}
});
});
当我打电话
$('#multiple_group_select_chosen span:first').text()
从控制台返回从下拉列表中选择的值,并随着下拉选择的更改而更改。如何检测到这种情况?目前没有console.log的' bla'发生的历史...
提前致谢。
编辑:HTML
<div class="chosen-container chosen-container-single chosen-container-single-nosearch" style="width: 100%;" title="" id="multiple_group_select_chosen">
<a class="chosen-single">
<span>DROPDOWN TEXT</span>
<div><b></b></div>
</a>
</div>
我无法控制这个html的出现方式
答案 0 :(得分:0)
我可能错了,但这里可能有一个非常简单的解决方案。不要将span
作为var然后将on
事件处理程序绑定到该变量,而是尝试将事件直接绑定到$('#multiple_group_select_chosen span:first').on('event', function() { ... });
通过将元素分配给变量,您可能正在寻找那些&#34;已保存的&#34;元素的版本而不是页面上的实际DOM元素。知识更多的人可能能够验证这一点。