2016-12-04 9 views
0

特定の値に基づいて特定の選択オプションを非表示にする作業関数を作成しようとしています。オプションにはクラスやIDはありませんので、オプション値を識別子として使用する必要があります。隠し属性を追加するオプション値に基づいてオプションを選択する

誰にもこの機能に問題がありますか?

function delivery_rate(valMap) { 
    if(valMap === 5000){ 
     $(".addon-select option[value="1-day-1"]").setAttribute("hidden", true); 
    } 
} 
+0

私が見る問題は 'hidden'は[' '

+0

@DavidThomasこんにちは、それは動作しません。私はhiddenが有効なhtml5属性であると考えました。 setAttribute( "hidden"、true); ' – nickyb

+0

これは私のスクリプトの残りの部分を壊してしまいます。' $( "addon-select option [value =" 1-day-1 "]" ''文字で区切られた文字列の中で、文字列( '\" ')内の' ''文字をエスケープするか、文字列をラップするために '' 'を使用します。また 'setAttribute()'は標準のJavaScriptであり、選択したjQueryオブジェクトの有効なjQueryメソッドではありません。 –

答えて

0

オプションタグにhiddenを適用する代わりに、<select>の異なるバージョンを作成し、すべてを非表示に設定します。ユーザーがその<select>タグの条件に一致する値を選択すると、その特定のタグを表示します。

<select name="select" class="first-select"> 
    <option value="value1">Value 1</option> 
    <option value="value2" selected>Value 2</option> 
    <option value="value3">Value 3</option> 
</select> 

<select name="select" class="second-select"> 
    <option value="value4">Value 1</option> 
    <option value="value5" selected>Value 2</option> 
    <option value="value6">Value 3</option> 
</select> 
+0

私は提案を感謝しますが、select入力はwoocommerceプラグインによって動的に作成されるため、特定のオプションを対象にする必要があります。 – nickyb

+0

CSS/JSを使用して要素を隠すのではなく、PHPを使用したいオプションのみを表示するようにプラグインを変更できますか? –

+0

50種類の製品のうちの1つだけです。だから私はソースを編集してそのプラグインの行に問題が生じないようにしようとしています。 – nickyb

関連する問題