次のコードは、親選択リストの値に応じて、1 つの (多くの非表示の) 子選択リストを示しています。スクリプトは、(親の選択リストで) 値が選択されているかどうかをチェックし、選択されている場合は、対応する子の選択リストを表示します。しかし、ユーザーが親の選択リストの値を選択し、フォームを投稿すると、子の選択リストが入力されていないというメッセージが表示され、(ほとんどの場合) ブラウザで [戻る] ボタンを押しても、親の選択リストにはまだ値があります (ブラウザだと思います)デフォルト) であり、子選択リストは非表示になっているため、ユーザーが混乱する可能性が高くなります。
これはどのように解決できますか?
Javascript:
$('#parent-list').live("change",function() {
var value = $(this).find('option:selected').val();
$("#child-list-"+value).slideDown(200).siblings().hide();
return false;
});
HTML:
<select id="parent-list" name="parent">
<option value="1">1</option>
...
</select>
<select id="child-list-1 style="display:hidden">
<option value="a">a</option>
</select>
<select id="child-list-2 style...