Onay kutusu işaretliyse, yalnızca değeri 1 olarak almam gerekir; aksi halde, 0 olarak almam gerekir. Bunu jQuery kullanarak nasıl yapabilirim?
$("#ans").val()
bu durumda bana her zaman bir hak verecek:
<input type="checkbox" id="ans" value="1" />
Onay kutusu işaretliyse, yalnızca değeri 1 olarak almam gerekir; aksi halde, 0 olarak almam gerekir. Bunu jQuery kullanarak nasıl yapabilirim?
$("#ans").val()
bu durumda bana her zaman bir hak verecek:
<input type="checkbox" id="ans" value="1" />
Yanıtlar:
İşaretlenip .is(':checked')
işaretlenmediğini belirlemek için kullanın ve ardından değerinizi buna göre ayarlayın.
$("#ans").attr('checked')
işaretli olup olmadığını söyleyecektir. Onay kutusunu işaretlemek / işaretini kaldırmak için ikinci bir true / false parametresini de kullanabilirsiniz.
$("#ans").attr('checked', true);
Başına yorum kullanmak prop
yerine attr
kullanılabilir. Örneğin:
$("#ans").prop('checked')
Sadece kullan $(selector).is(':checked')
Bir boole değeri döndürür.
// use ternary operators
$("#ans").is(':checked') ? 1 : 0;
Stefan Brinkmann'ın cevabı mükemmel, ancak yeni başlayanlar için eksik (değişken atamayı atlıyor). Sadece netleştirmek için:
// this structure is called a ternary operator
var cbAns = ( $("#ans").is(':checked') ) ? 1 : 0;
Şöyle çalışır:
var myVar = ( if test goes here ) ? 'ans if yes' : 'ans if no' ;
Misal:
var myMath = ( 1 > 2 ) ? 'yes' : 'no' ;
alert( myMath );
Uyarılar 'hayır'
Bu yardımcı olursa, lütfen Stefan Brinkmann'ın cevabını iptal edin.
Bunu deneyebilirsiniz:
$('#studentTypeCheck').is(":checked");
Daha önce aynı sorunu buldum, umarım bu çözüm size yardımcı olabilir. ilk olarak, onay kutularınıza özel bir özellik ekleyin:
<input type="checkbox" id="ans" value="1" data-unchecked="0" />
değer elde etmek için bir jQuery uzantısı yazın:
$.fn.realVal = function(){
var $obj = $(this);
var val = $obj.val();
var type = $obj.attr('type');
if (type && type==='checkbox') {
var un_val = $obj.attr('data-unchecked');
if (typeof un_val==='undefined') un_val = '';
return $obj.prop('checked') ? val : un_val;
} else {
return val;
}
};
onay kutusu değerini almak için kodu kullanın:
$('#ans').realVal();
burada test edebilirsin
Ayrıca kullanabilirsiniz:
$("#ans:checked").length == 1;
kullanın:
$("#ans option:selected").val()
return
1
istemiyor
function chkb(bool){
if(bool)
return 1;
return 0;
}
var statusNum=chkb($("#ans").is(':checked'));
statusNum onay kutusu işaretliyse 1, işaretlenmezse 0 olur.
EDIT: DOM işlevine de ekleyebilirsiniz.
function chkb(el){
if(el.is(':checked'))
return 1;
return 0;
}
var statusNum=chkb($("#ans"));
Son zamanlarda, kullanıcı düğmeyi tıkladığında onay kutusunun kontrol değerine ihtiyacım olduğu bir durumla karşılaştım. Bunu yapmanın tek uygun yolu prop()
niteliği kullanmaktır .
var ansValue = $("#ans").prop('checked') ? $("#ans").val() : 0;
bu benim durumumda çalıştı belki birinin buna ihtiyacı olacak.
Denediğimde .attr(':checked')
döndü checked
ama boolean değeri ve .val()
öznitelik değerini döndürmek istedim value
.
Orada çeşitli seçenekler vardır ....
1. $("#ans").is(':checked')
2. $("#ans:checked")
3. $('input:checkbox:checked');
Tüm bu seçenek true değerini döndürürse değeri hesaplayarak ayarlayabilirsiniz.
Bunu dene
$('input:checkbox:checked').click(function(){
var val=(this).val(); // it will get value from checked checkbox;
})
Burada bayrak işaretlenirse doğrudur aksi takdirde yanlış
var flag=$('#ans').attr('checked');
Yine bu cheked yapacak
$('#ans').attr('checked',true);
$("#id").prop('checked') === true ? 1 : 0;
İlk önce değerin kontrol edildiğini kontrol edin
$("#ans").find("checkbox").each(function(){
if ($(this).prop('checked')==true){
var id = $(this).val()
}
});
Başka 0 değerini ayarlayın