1

空白のオプションを含むいくつかの選択メニューがあります。両方が空白の場合(通常は最初のページの読み込み時)、非表示のdivを表示したいと思います。

これは私が持っているものです:

$('.variant_options select').each(function() { 
    if ($(this).attr('value') === '') {
        // some code here to show hidden div
        console.log("No options chosen");
    }
});

これはうまくいかないようです。

編集1

それが価値があるもののために、私はこのようなことを試みました:

if (!$(this).attr('value'))

そしてそれはうまくいったようですが、それは他の場所で機能を壊します。

4

5 に答える 5

5

<select>要素にはvalue属性がないため.val()、要素で使用して、現在選択されているオプションが空かどうかを確認する必要があります。

if ($(this).val() === '') {
    // value of select box is empty
}

this.value === ''また動作するはずです

オプションが選択されていないかどうかを確認するには:

if (this.selectedIndex == 0) {
    // no option is selected
}
于 2013-03-26T10:37:41.000 に答える
1

これを行うには、次を使用します。

if($(this).val() === '') {
  // value is empty
}

私は次のことも信じています:

if(!$(this).prop('value')) { 
  // It's empty 
}
于 2013-03-26T10:36:51.750 に答える
1

あなたは単にこれを行うことができます:

$('.variant_options select').each(function () {
    if ($.trim($(this).val()) === '') {
        // some code here...
    }
});
于 2013-03-26T10:53:39.380 に答える
0

jQueryはを使用して値をチェックできます$(this).val()

したがって、次のようにします($(this).val ==='') `

hrefやsrcなどの他の属性を確認したい場合は、次のようにすることができます。

if ($(this).attr('href') === ''

于 2013-03-26T10:37:59.707 に答える
0

スペースがある場合は、次のトリックを使用してください。

if ($.trim($(this).val()) === '') { ...
于 2013-03-26T10:43:24.643 に答える