Получить значение флажка checked?
Итак, у меня есть код, который выглядит так:
<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">
Мне просто нужен Javascript, чтобы получить значение любого флажка, который в настоящее время установлен.
EDIT: чтобы добавить, будет только один флажок.
9 ответов:
для современных браузеров:
var checkedValue = document.querySelector('.messageCheckbox:checked').value;С помощью
jQuery:var checkedValue = $('.messageCheckbox:checked').val();чистый javascript без
jQuery: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.querySelector('.messageCheckbox').checked;удачи в кодировании.
Я использую это в мой код.Попробуйте это
var x=$("#checkbox").is(":checked");если флажок установлен
xбудет true в противном случае это будет false.
в обычном 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); } }
это не дает прямого ответа на вопрос, но может помочь будущим посетителям.
Если вы хотите, чтобы переменная всегда была текущим состоянием флажка (вместо того, чтобы постоянно проверять его состояние), вы можете изменить
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})
используйте этот:
alert($(".messageCheckbox").is(":checked").val())это предполагает, что флажки для проверки имеют класс "messageCheckbox", в противном случае вам нужно будет проверить, является ли вход типом флажка и т. д.
$(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">
если вы используете семантический интерфейс реагировать,
dataпередается в качестве второго параметраonChangeсобытие.таким образом, вы можете получить доступ к
checkedсвойства следующим образом:<Checkbox label="Conference" onChange={(e, d) => console.log(d.checked)} />
в моем проекте, я обычно использую этот фрагменты:
var type[]; $("input[name='messageCheckbox']:checked").each(function (i) { type[i] = $(this).val(); });и это хорошо работает. Лучшее пожелание.
Comments