2

オプションが 1 つしかないドロップダウンを持つリスト項目を非表示にするにはどうすればよいですか? 以下、1番目と3番目を非表示にしたいのですが、これがわかりません。誰でも助けることができますか?

<li>
  <label>Test 1</label>
  <select>
    <option selected="selected" value="0">Select</option>
  </select>
</li>
<li>
  <label>Test 2</label>
  <select>
    <option selected="selected" value="0">Select</option>
    <option selected="selected" value="1">Option 1</option>
  </select>
</li>
<li>
  <label>Test 3</label>
  <select>
    <option selected="selected" value="0">Select</option>
  </select>
</li>
4

3 に答える 3

7

これを試して:

$('select').filter(function() {
    return $(this).find('option').length === 1; 
}).closest('li').hide();
于 2013-08-07T21:07:02.680 に答える
4

それぞれまたはフィルターを使用しない簡単なライナーを次に示します。

$('select').not(':has(option:eq(1))').parent().remove();

jsFiddle の例

于 2013-08-07T21:10:45.563 に答える
1

力ずくですべての選択ボックスをループして、それぞれにいくつのオプションがあるかを確認し、十分でない場合は非表示にすることができます。

var selectBoxes = document.getElementsByTagName('select');
var length = selectBoxes.length;
var i = 0;

for (; i < length; i++) {
  if (selectBoxes[i].options.length < 2) {
    selectBoxes[i].parentNode.style.display = 'none';
  }
}

このコードはテストされていませんが、一般的なアイデアが得られるはずです。

于 2013-08-07T21:09:39.737 に答える