-2

プレーン Javascript を使用すると、HTML5 の hidden 属性を使用して選択メニュー オプションを簡単に非表示にできます。しかし、jQuery-UI を使用して選択メニューのスタイルを設定したい場合、hidden 属性は無視されます。たとえば、次の 2 つの選択メニューを定義します。

<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();
}); 

この例を実行すると、2 番目の selectmenu では 3 番目の項目が非表示になりますが、最初の項目では非表示になりません。jQuery-UI で hidden 属性が無効になっているようです。見る

jsフィドル

実際の例については。何か間違っているのでしょうか、それとも jQuery-UI にバグがありますか?

4

2 に答える 2

0

これは jQuery-UI のバグであることが判明しました。GitHub でチケットを発行したところ、問題は 24 時間以内に修正されました。

于 2016-11-16T19:41:42.033 に答える
0

問題の私の回避策は、それらを削除することです。

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

jsfiddle

于 2016-11-15T10:07:49.060 に答える