Установите флажок check checked?

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

<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();

Чистый 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;
      }
}

Ответ 2

Ни один из вышеперечисленных не работал у меня, но просто использовал это:

document.querySelector('.messageCheckbox').checked;

Счастливое кодирование.

Ответ 3

Я использую это в своем коде. Попробуйте этот

var x=$("#checkbox").is(":checked");

Если флажок установлен, x будет true, иначе он будет false.

Ответ 4

в простом 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);
    }
}

Ответ 5

$(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">

Ответ 6

Используйте это:

alert($(".messageCheckbox").is(":checked").val())

Это предполагает, что флажки для проверки имеют класс "messageCheckbox", иначе вам нужно будет проверить, является ли вход типом флажка и т.д.

Ответ 7

В моем проекте я обычно использую эти фрагменты:

var type[];
$("input[name='messageCheckbox']:checked").each(function (i) {
                type[i] = $(this).val();
            });

И он работает хорошо. Наилучшее отношение.