移除Chosen组件的disabled属性无效,求助解决方法
解决Chosen组件disabled属性修改无效的问题
嘿,我太懂这个坑了!Chosen组件会生成一套自定义的DOM结构来替代原生select,所以你直接用prop()修改原select的disabled属性后,组件根本不会自动同步这个状态到它的UI上,这就是操作无效的核心原因。
正确的操作步骤是:先修改原生select的属性,再手动触发Chosen的更新事件,让组件重新渲染状态:
如果你的目标是移除disabled(启用组件),代码应该改成这样:
$('#check_book').prop('disabled', false).trigger('chosen:updated');
如果是要设置disabled(禁用组件),则是:
$('#check_book').prop('disabled', true).trigger('chosen:updated');
简单来说,Chosen需要你手动通知它“原元素状态变了,快刷新一下”,trigger('chosen:updated')就是干这个的——它会让Chosen重新读取原select的属性,同步更新对应的UI表现。
内容的提问来源于stack exchange,提问作者Sohail Ahmad
相关产品推荐
相关产品推荐

