出席確認のためのjqueryがありますが、現在は動作していません。私は出席1と出席2と呼ばれる出席ラジオグループを持っています。フォームはリストと呼ばれます。2つのラジオボックスのjquery検証
$("input[name=attendance1]:checked").triggerHandler('click');
$("input[name=attendance2]:checked").triggerHandler('click');
出席確認のためのjqueryがありますが、現在は動作していません。私は出席1と出席2と呼ばれる出席ラジオグループを持っています。フォームはリストと呼ばれます。2つのラジオボックスのjquery検証
$("input[name=attendance1]:checked").triggerHandler('click');
$("input[name=attendance2]:checked").triggerHandler('click');
$( "input [name = attendance1]:checked)"が何に関係なくjqueryオブジェクトを返すため、動作しない場合はjqueryオブジェクトが返されます。チェックされていなければ、空のjqueryオブジェクトを返します。ある()メソッドはtrueまたはfalseを返します。
$("#list").submit(function() {
console.log("submitted");
if ($("input[name=attendance1]").is(":checked")) {
alert('Please select attendance1');
if ($("input[name=attendance2]").is(":checked")) {
alert('Please select attendance2');
return false;
}
});
EDIT:(文の論理は間違っていた場合)(と、さらに簡単にするために再編集)
$("#list").submit(function() {
console.log("submitted");
return 0 == $("input[name^=attendance][value=Yes]").not(":checked").each(function(){
alert('Please select ' + $(this).attr('name'));
}).length;
});
ありがとうございますが、どちらもチェックされていない場合はまだ提出中です – jing
if文の論理が間違っています...あなたのために私の投稿を編集します。 –
ここに行くよ。どちらもチェックされていない場合は2つのアラートが表示されますが、実際にはユーザーフレンドリーではありません。フィールドラベルにメッセージを追加してアラートを置き換えるのが最も良い方法です。 –
動作するはずです以下。
$("#list").submit(function() {
console.log("submitted");
if (!$("input[name=attendance1]").is(":checked")) {
alert('Please select attendance1');
}
if (!$("input[name=attendance2]").is(":checked")) {
alert('Please select attendance2');
return false;
}
});
コードにインデントと角かっこを固定すると、どこが間違っているかがわかります。 – c0deNinja