4つのフィールドセットを含むフォームがあります。ユーザーは少なくとも1つのフィールドセットに入力する必要がありますが、追加のフィールドセットに入力することを選択できます。各フィールドセットの内容は同じです。
ドロップダウンから表示するフィールドセットの数を選択できるようにしたいと思います。ドロップダウンから数値を選択すると、関連するフィールドセットの数が表示されます。
したがって、数量ドロップダウンから3を選択した場合は、最初の3つのフィールドセットが表示されます。彼らが気が変わって2つのフィールドセットにドロップした場合、3番目は再び非表示になります。
これがベースHTMLです。
<form>
<select id="quantity" name="quantity">
<option disabled="disabled">xx</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<fieldset id="fieldset_name_1">Form Area 1</fieldset>
<fieldset id="fieldset_name_2" style="display: none;">Form Area 2</fieldset>
<fieldset id="fieldset_name_3" style="display: none;">Form Area 3</fieldset>
<fieldset id="fieldset_name_4" style="display: none;">Form Area 4</fieldset>
</form>
これが私のこれまでの非常に基本的なjQueryです。私はクライアント側のものにはかなり慣れていないので、一般的にはphpに頭を埋めています:)
var registerCount = function() {
var qty = $(this).val();
var fieldsets = $('fieldset');
fieldsets.slice(0, qty ).show();
}
$("#quantity").change(registerCount).keypress(registerCount);
だから私はそれがフィールドセットを正しく表示しているので、変更またはキーをもう一度押すときにそれらを非表示にする方法がわかりません。
これは単純なことだと思いますが、PHPに精通しているため、jQuery/javascriptの方法とはまったく異なる方法でコーディングを試みていると思います。