2

私は約 50 のアイテムを選択しています。ここに小さなサンプルがあります。選択に特定の正確な値が含まれているかどうかを確認したいので、「美しさ」を探すとき、それは2ではなく1の一致になります.

すべてのアイテムをループすることを考えましたが、これに出くわしました: http://api.jquery.com/is/

パフォーマンスが向上する可能性があると考えました ただし、このコードでそれを使用する方法がわかりません。

<select id="mydropdown" class="textbox">
    <option value="Beauty">Beauty</option>
    <option value="Catering">Catering</option>
    <option value="Beautysalon">Beautysalon</option>
</select>
4

3 に答える 3

5

属性セレクターを使用します。

var hasBeauty = !! $('#mydropdown > option[value="Beauty"]').length;

これがフィドルです:http://jsfiddle.net/gLPJ5/

于 2013-09-11T18:55:58.727 に答える
0
if($('#mydropdown').val() == "Beauty")
{
  //Do something
}
于 2013-09-11T18:58:12.017 に答える
0

querySelectorこれは、 orを使用しない、より高速で最新のソリューションですjQuery。それが何をするかというと、optionsオブジェクトを受け取り、それを配列に変換しincludes、値をチェックするために使用します。すべてのメソッドは、ネイティブ JS API の一部です。

function optionExists (select, value) {
  const options = Object.values(select.options).map(option => option.value)
  return options.includes(value)
}

const select = document.getElementById('mydropdown')
console.log(optionExists(select, 'Beauty'))
console.log(optionExists(select, 'Be'))
<select id="mydropdown" class="textbox">
    <option value="Beauty">Beauty</option>
    <option value="Catering">Catering</option>
    <option value="Beautysalon">Beautysalon</option>
</select>

于 2020-05-05T13:11:11.137 に答える