我有list2类型的列表.
<select id="list" class="form-control select2 select2-hidden-accessible" tabindex="-1" aria-hidden="true"> <optgroup label="Types"> <option value="None">None</option> <option value="1">One</option> <option value="2">Two</option> </optgroup> </select>
我想禁用值为1的选项
所以我这样做了
$("#list>optgroup>option[value='1']").prop('disabled',true); Result:// <option value="1" disabled>One</option>
它工作正常;但如果我想重新启用禁用选项我尝试下面的代码,但仍然禁用select2选项.
$("#list>optgroup>option[value='1']").prop('disabled',false); $("#list>optgroup>option[value='1']").removeProp('disabled'); Result:// <option value="1">One</option>
但奇怪的是删除了该选项的禁用属性.但select2选项仍然被禁用.
没有得到如何解决这个问题.需要帮忙.
更新:如果我检查select2的DOM,即使在removeinf禁用后它也具有此属性.
<li class="select2-results__option" id="select2-template-type-list-result-4qd3-merge" role="treeitem" aria-disabled="true">One</li>
如果我使aria-disabled =“false”它将启用.无法得到原因.