フォームには複数のチェックボックスフィールドと、対応する各チェックボックスのコメントフィールドがあります。私はこれらのフィールドを動的に作成します。たとえば、チェックボックスフィールドタグ1は、コメント1に対応します。チェックボックスがオンになっている場合、私はコメントを要求したくありません。それがチェックされていないとき、私はコメントを要求したい。チェックボックスイベントを変更して別のフィールドをトリガーする必要があります
フィールドは、ユーザーの最後の入力に基づいて事前に設定されることがあります。言い換えれば、チェックボックスは、ページがロードされたときにチェックされているか、またはチェックされていない可能性があります。私は、が必要であるとして対応するコメントフィールドを構築するようにロジックを設定しました。これに基づいてが必要かどうかは問いません。
1つを除いてすべての状況が機能しているようです。チェックボックスをオンにしてチェックボックスをオフにすると、フォームでコメントなしで送信できます。以下は私が試みたものです。
$(document).on('change', 'input[type=checkbox]', function() {
var checkbox = $(this),
otherInput = $('#comments' + this.id.replace('tag', ''));
otherInput.removeProp('required', !checkbox.is(':checked'));
if (!checkbox.not(':checked')){
otherInput.prop('required',true);
}
});
--------------------第試み
$(document).on('change', 'input[type=checkbox]', function() {
var checkbox = $(this),
otherInput = $('#comments' + this.id.replace('tag', ''));
otherInput.prop('required', !checkbox.not(':checked'));
otherInput.removeProp('required', !checkbox.is(':checked'));
});
これらの両方は、上述のものを除いて、同じ状況を解決します。お知らせ下さい。
2番目の例で、 'otherInput.removeProp( 'required'、!checkbox.is( ':checked')); 'の目的は何ですか? – guest271314
@ guest271314ユーザがチェックボックスをチェックすると、対応するコメントフィールドから必要な属性が削除されます –
はい、以前の行 'otherInput.prop( 'required'、!checkbox.not( ':checked'));'がこれを実現します、 はい?問題を示すためにjsfiddleを作成できますか? – guest271314