Получить значение флажка checked?



Итак, у меня есть код, который выглядит так:



<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">


Мне просто нужен Javascript, чтобы получить значение любого флажка, который в настоящее время установлен.



EDIT: чтобы добавить, будет только один флажок.

600   9  

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

    Ничего не найдено.