排他的なチェックボックスを使用するフォーム (WordPress プラグイン、Contact 7、fyi) があります。yes と no の 2 つのチェックボックスの選択肢があります。はいとチェックされた場合、有効にするテキスト フィールドがあります (デフォルトで無効にしています)。彼らが「いいえ」をチェックした場合、有効にしている2つのボックスを含む2番目の専用チェックボックスがあります(これもデフォルトで)。ご想像のとおり、ユーザーが [はい] を選択すると、2 番目のチェックボックスも無効にする必要があります。いいえを選択した場合は、テキスト フィールドを無効な状態に戻します。
したがって、変更イベントを認識しないことを除いて、これは機能しています。つまり、はいをチェックするとテキスト フィールドが有効になりますが、いいえをチェックすると、他の入力要素の関連する状態は更新されません。機能を実行するには、いいえのチェックを外してから、再度チェックする必要があります。これが私のjQueryコードスニペットです:
$(document).ready(function() {
$('p#myTextFieldHolder input:text').val('').attr('disabled', true);
$('#mySecondCheckBoxHolder input:checkbox').attr('disabled', true);
$("#myCheckBoxHolder input").change(function() {
if ($(":checked").val() == "If yes, what is the estimated closing date?") {
$('p#myTextFieldHolder input:text').val('').attr('disabled', false);
$('#mySecondCheckBoxHolder input:checkbox').attr('disabled', true);
} else if ($(":checked").val() == "No:") {
$('p#myTextFieldHolder input:text').val('').attr('disabled', true);
$('#mySecondCheckBoxHolder input:checkbox').attr('disabled', false);
} else {
$('p#myTextFieldHolder input:text').val('').attr('disabled', true);
$('#mySecondCheckBoxHolder input:checkbox').attr('disabled', true);
}
})
});
これを説明して修正する方法について何か提案はありますか? ありがとうございました。