-2

使用纯 Javascript,很容易使用 HTML5 的 hidden 属性隐藏选择菜单选项。但是当我想使用 jQuery-UI 对选择菜单进行样式化时,隐藏属性会被忽略。例如,定义两个选择菜单:

<select id="one">
  <option>option 1</option>
  <option>option 2</option>
  <option hidden>hidden option</option>
  <option>option 4</option>
</select>

<select id="two">
  <option>option 1</option>
  <option>option 2</option>
  <option hidden>hidden option</option>
  <option>option 4</option>
</select> 

这是Javascript/jQuery:

$(function(){            
  $('#one').selectmenu();
}); 

当您运行此示例时,第三个项目隐藏在第二个选择菜单中,但不在第一个中。似乎 jQuery-UI 禁用了 hidden 属性。看

jsFiddle

一个活生生的例子。我做错了什么还是 jQuery-UI 中存在错误?

4

2 回答 2

0

我解决这个问题的方法是删除它们,

$(function(){            
    $('#one option[hidden]').remove();
    $('#one').selectmenu();
});  

jsfiddle

于 2016-11-15T10:07:49.060 回答
0

事实证明,这是 jQuery-UI 中的一个错误。我在 GitHub 上开了一张票,问题在 24 小时内得到解决。

于 2016-11-16T19:41:42.033 回答