だから私はこのようなコードを持っています:
<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">
現在チェックされているチェックボックスの値を取得するには、JavaScriptが必要です。
編集:追加するには、チェックボックスが1つだけあります。
だから私はこのようなコードを持っています:
<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">
現在チェックされているチェックボックスの値を取得するには、JavaScriptが必要です。
編集:追加するには、チェックボックスが1つだけあります。
回答:
最新のブラウザの場合:
var checkedValue = document.querySelector('.messageCheckbox:checked').value;
を使用してjQuery
:
var checkedValue = $('.messageCheckbox:checked').val();
なしの純粋なJavaScriptjQuery
:
var checkedValue = null;
var inputElements = document.getElementsByClassName('messageCheckbox');
for(var i=0; inputElements[i]; ++i){
if(inputElements[i].checked){
checkedValue = inputElements[i].value;
break;
}
}
document.getElementById("foo").value();
保存する」ためgetElementById
ですgetElementsByTagName
。ループを作成するよりも確実に高速であるため、「書き込みを保存するだけ」と「計算を保存する」必要があります。
.is(":checked")
は、.val()
定義されている場合は属性値を返すため、正しい方法です。定義されていない場合でも、ブール値ではなく "on"を返します。jsfiddle.net/d5f7wnzu
document.querySelector('.messageCheckbox:checked').value
チェックボックスがチェックされていない場合はTypeErrorを生成します
上記のどれも私にとってはうまくいきませんでしたが、これを単に使用してください:
document.querySelector('.messageCheckbox').checked;
ハッピーコーディング。
id
?説明していただけますか?class
入力で実際に使用された質問をした人。あなたがどこから得たのか理解できるように完全なコードを提供できればよいでしょうid
私はコードでこれを使用しています。これを試してください
var x=$("#checkbox").is(":checked");
チェックボックスがオンの場合はx
true、それ以外の場合はfalseになります。
#checkbox
が変数である場合に便利myCheckbox
です。
単純なJavaScriptで:
function test() {
var cboxes = document.getElementsByName('mailId[]');
var len = cboxes.length;
for (var i=0; i<len; i++) {
alert(i + (cboxes[i].checked?' checked ':' unchecked ') + cboxes[i].value);
}
}
function selectOnlyOne(current_clicked) {
var cboxes = document.getElementsByName('mailId[]');
var len = cboxes.length;
for (var i=0; i<len; i++) {
cboxes[i].checked = (cboxes[i] == current);
}
}
$(document).ready(function() {
var ckbox = $("input[name='ips']");
var chkId = '';
$('input').on('click', function() {
if (ckbox.is(':checked')) {
$("input[name='ips']:checked").each ( function() {
chkId = $(this).val() + ",";
chkId = chkId.slice(0, -1);
});
alert ( $(this).val() ); // return all values of checkboxes checked
alert(chkId); // return value of checkbox checked
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="checkbox" name="ips" value="12520">
<input type="checkbox" name="ips" value="12521">
<input type="checkbox" name="ips" value="12522">
これは直接質問に答えることはできませんが、将来の訪問者を助けるかもしれません。
変数を常にチェックボックスの現在の状態にしたい場合(その状態をチェックし続ける必要はありません)、onchange
その変数を設定するようにイベントを変更できます。
これはHTMLで行うことができます:
<input class='messageCheckbox' type='checkbox' onchange='some_var=this.checked;'>
またはJavaScriptを使用:
cb = document.getElementsByClassName('messageCheckbox')[0]
cb.addEventListener('change', function(){some_var = this.checked})
Semantic UI Reactを使用している場合、data
は2番目のパラメーターとしてonChange
イベントに渡されます。
したがってchecked
、次のようにプロパティにアクセスできます。
<Checkbox label="Conference" onChange={(e, d) => console.log(d.checked)} />
上記のどれも、ボックスがチェックされていないときにコンソールにエラーをスローせずに機能しなかったため、代わりにこれらの行に沿って何かを行いました(onclickおよびチェックボックス関数はデモ目的でのみ使用されており、私のユースケースでは、より大きなフォーム送信機能):
function checkbox() {
var checked = false;
if (document.querySelector('#opt1:checked')) {
checked = true;
}
document.getElementById('msg').innerText = checked;
}
<input type="checkbox" onclick="checkbox()" id="opt1"> <span id="msg">Click The Box</span>
私のプロジェクトでは、通常、次のスニペットを使用します。
var type[];
$("input[name='messageCheckbox']:checked").each(function (i) {
type[i] = $(this).val();
});
そして、それはうまくいきます。宜しくお願いします。