私がしようとしているのは、2つの選択フィールドを作成し、最初のオプションを選択した後、2番目のオプションの一部を非表示にする必要があります。 私のスクリプトは最初の選択フィールドから特定のオプションを見つけることができないという事実を除いて、ほとんど存在しますが、最初にこのオプションを指定すると、最初のものだけで動作しますが、無駄です。最初のオプションで選択したオプションに従って、2番目の選択フィールドのオプションを非表示にする必要があります。2つの選択フィールドが互いに依存します
実際にここにクラスやIDなどを追加することはできません。
私はスクリプトにどの要素を編集すべきかを記述する方法で構成されている間違いを犯したと思いますが、別の方法で書く方法はわかりません。
HTML
<select name="NameOne">
<option value="First">Lorem Ipsum1</option>
<option value="Second">Lorem Ipsum2</option>
<option value="Third">Lorem Ipsum3</option>
<option value="CD">Dolor2</option>
</select>
<select name="NameTwo">
<option value="AB">Dolor1</option>
<option value="CD">Dolor2</option>
<option value="EF">Dolor3</option>
</select>
JS
$("select").change(function(){
if($(this).val() == "Second") {
$('option[value="CD"]', this).addClass('hidden');
} else {
$('option[value="CD"]', this).removeClass('hidden');
}
});
CSS
.hidden {
display: none
}
してください、助け。
は、なぜあなたはクラスやIDを追加することはできませんか? – depperm
あなたのコードに2つの間違ったアプローチがあります。$( 'option [value = "CD"]'、this)==>間違ったアプローチです。これを使用することで、選択ボックスからオプションを分離することはできません。両方の選択ボックスからオプションを返します。実際には、すべてのページコンテンツオプション
2。$( "select")も、1つだけの選択ボックスだけでなく、両方の選択ボックスを選択するので間違っています。しかし、あなたの要件に応じて、選択ボックス1を検討するには十分です。 – Sanka