2
以下私は、ユーザが送信を許可する前に、チェックボックスと入力がすべて満たされているようにしています。チェックボックスのチェックを無視し、フィールドのみが入力された後に送信を開きます。私は間違って何をしていますか?入力とチェックボックスが空でない場合は、送信ボタンを有効にしてください
$('#first, #last, #pass').bind('keyup', function() {
if (allFilled()) $('#register').removeAttr('disabled');
});
function allFilled() {
var filled = true;
console.log($('#checkbox').prop('checked'))
$('body input').each(function() {
if ($(this).val() == '' && $('#checkbox').prop('checked') == false) filled = false;
});
return filled
};
HTML:jQueryの3.0のよう
<body>
<form>
Username
<br />
<input type="text" id="first" name="first" />
<br /> First
<br />
<input type="text" id="last" name="last" />
<br /> Last
<br />
<input type="text" id="pass" name="pass" />
<br /> Password
<br />
<input type="checkbox" class="checkbox" id="checkbox" name="checkbox" />
<br />
<input type="submit" id="register" disabled value="Register" />
</form>
<div id="test">
</div>
</body>
あなたのHTMLを見ることは有用であろう。 [mcve]。また、.bind()の代わりに '.on()'を使用する必要があります。 – j08691
jQuery 3.0以降、.bind()は推奨されていません。 jQuery 1.7以降、イベントハンドラをドキュメントに添付するための.on()メソッドに取って代わられていたため、その使用は既に推奨されていませんでした。 –
[jQueryでチェックボックスがオンになっているかどうかを確認するにはどうすればよいですか?](http://stackoverflow.com/questions/901712/how-do-i-check-if-a-checkbox-is-checked-in -jquery) –