web-gelistirme-sc.com

İşaretli onay kutusunun değerini aldın mı?

Böylece bu gibi görünen bir kod var:

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

Şu anda işaretli olanların onayını almak için Javascript'e ihtiyacım var.

EDIT: Eklemek için, yalnızca bir onay kutucuğu olacaktır.

139

Modern tarayıcılar için:

var checkedValue = document.querySelector('.messageCheckbox:checked').value;

jQuery kullanarak:

var checkedValue = $('.messageCheckbox:checked').val();

jQuery olmadan saf javascript:

var checkedValue = null; 
var inputElements = document.getElementsByClassName('messageCheckbox');
for(var i=0; inputElements[i]; ++i){
      if(inputElements[i].checked){
           checkedValue = inputElements[i].value;
           break;
      }
}
206
Engineer

Yukarıdakilerin hiçbiri benim için çalıştı, ancak basitçe bunu kullanın:

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

Mutlu kodlama.

206
JanBorup

Bunu kodumda kullanıyorum. Bunu dene

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

Onay kutusu işaretliyse x doğru olur, aksi takdirde yanlış olur.

97
user1683014

düz javascript olarak:

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);
    }
}
10
Stano

Bu soruya doğrudan cevap vermiyor, ancak gelecekteki ziyaretçilere yardımcı olabilir.


Bir değişkene sahip olmak istiyorsanız, her zaman onay kutusunun mevcut durumu (durumunu kontrol etmeye devam etmek yerine) kullanmak istiyorsanız, bu değişkeni ayarlamak için onchange olayını değiştirebilirsiniz.

Bu HTML'de yapılabilir:

<input class='messageCheckbox' type='checkbox' onchange='some_var=this.checked;'>

veya JavaScript ile:

cb = document.getElementsByClassName('messageCheckbox')[0]
cb.addEventListener('change', function(){some_var = this.checked})
4
Joe Iddon

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

3

Bunu kullan:

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

Bu, kontrol edilecek onay kutularının "messageCheckbox" sınıfına sahip olduğunu varsayar, aksi takdirde girdi onay kutusu türünün vb.

2
jackJoe
<input class="messageCheckbox" type="checkbox" onchange="getValue(this.value)" value="3" name="mailId[]">

<input class="messageCheckbox" type="checkbox" onchange="getValue(this.value)" value="1" name="mailId[]">
function getValue(value){
    alert(value);
}
0
Alien

Eğer Semantic UI React kullanıyorsanız, data, onChange olayına ikinci parametre olarak iletilir.

Bu nedenle checked özelliğine aşağıdaki gibi erişebilirsiniz:

<Checkbox label="Conference" onChange={(e, d) => console.log(d.checked)} />
0
Dave Clark