正常に機能するフォームにチェックボックスがあります。フォームがクリックされたとき、値を1に変更しようとしています。クリックされていないとき、値はゼロである必要があります。JavaScriptを使用して動的にフィールドに入力しています。問題は、コンソールにログインすると、空の値が表示されることです。
チェックボックスフィールド
function checkMark() {
var checkBox = document.getElementById("spouse");
if (checkBox.checked == true){
checkBox.value = '1';
} else {
checkBox.value = 'O';
}
}
var spouse = $('#spouse').val();
console.log(spouse);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="spouse" value="" class="spouse" onclick="checkMark()">
問題の理由は、ページが最初にロードされたときにログを記録しているためです。値を変更するたびに結果をログに記録する必要がありcheckbox
ます。
また、ternary
ソリューションを簡素化するために演算子を使用することもできます。
function checkMark() {
var checkBox = document.getElementById("spouse");
checkBox.value = checkBox.checked ? '1' : '0';
log();
}
function log(){
var spouse = $('#spouse').val();
console.log(spouse);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="spouse" value="" class="spouse" onclick="checkMark()">
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加