JQuery'nin kontrol edilip edilmediği nasıl kontrol edilir?

checked flag özelliğini kontrol etmem ve jQuery kullanarak doğrulanmış özelliğe göre bir eylem gerçekleştirmem gerekiyor.

Örneğin, yaş onay kutusu işaretliyse, yaşı girmek için bir metin kutusu göstermem gerekir, aksi takdirde metin kutusunu gizleyin.

Ancak, aşağıdaki kod varsayılan olarak false döndürür:

 if ($('#isAgeSelected').attr('checked')) { $("#txtAge").show(); } else { $("#txtAge").hide(); } 

checked özellik başarılı bir şekilde nasıl alınır?

3928
23 мая '09 в 18:16 2009-05-23 18:16 Prasad 23 Mayıs 09: 18: 18'de verildi 2009-05-23 18:16
@ 58 cevap
  • 1
  • 2

Benim için çalıştı:

 $get("isAgeSelected ").checked == true 

isAgeSelected burada kontrol kimliğidir.

Ayrıca, @ karim79 cevabı iyi çalışıyor. Test ettiğimde neyi özlediğimden emin değilim.

Not. Bu cevap, Microsoft Ajax'ı kullanır, jQuery'i kullanmaz.

83
24 мая '09 в 8:30 2009-05-24 08:30 Cevap Prasad 24 Mayıs 09 '08: 08 : 30-09-24 08:30

Doğrulanmış bir mülk için bir isteği nasıl gerçekleştirebilirim?

DOM onay kutusu öğesinin checked özelliği size öğenin checked durumunu verecektir.

Mevcut kodunuz göz önüne alındığında, bunu yapabilirsiniz:

 if(document.getElementById('isAgeSelected').checked) { $("#txtAge").show(); } else { $("#txtAge").hide(); } 
border=0

Ancak, toggle kullanarak bunu yapmanın daha güzel bir yolu var:

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="checkbox" id="isAgeSelected"/> <div id="txtAge" style="display:none">Age is something</div> 
3106
23 мая '09 в 18:20 2009-05-23 18:20 Cevap karim79 tarafından 23 Mayıs 09: 18: 20'de verildi 2009-05-23 18:20

JQuery is () işlevini kullanın:

 if($("#isAgeSelected").is(':checked')) $("#txtAge").show(); // checked else $("#txtAge").hide(); // unchecked 
1553
22 июня '11 в 13:14 2011-06-22 13:14 Cevap 22 Haziran '11'de Bhanu Krishnan'a 1:14 pm 2011-06-22 13:14

JQuery> 1.6 kullanarak

 <input type="checkbox" value="1" name="checkMeOut" id="checkMeOut" checked="checked" /> // traditional attr $('#checkMeOut').attr('checked'); // "checked" // new property method $('#checkMeOut').prop('checked'); // true 

Yeni özellik yöntemini kullanarak:

 if($('#checkMeOut').prop('checked')) { // something when checked } else { // something else when not } 
474
23 июня '11 в 20:29 2011-06-23 20:29 Cevap SeanDowney tarafından 23 Haziran '11'de 20:29 2011-06-23 20:29 tarihinde verilmiştir.

jQuery 1.6 +

 $('#isAgeSelected').prop('checked') 

jQuery 1.5 ve altı

 $('#isAgeSelected').attr('checked') 

Herhangi bir jQuery sürümü

 // Assuming an event handler on a checkbox if (this.checked) 

Tüm krediler Xian'dır .

179
20 мая '14 в 23:03 2014-05-20 23:03 Cevap, 20 Mayıs 14, 23 Nisan, 23: 03'te ungalcrys verildi.

Kullanıyorum ve kesinlikle çalışıyor:

 $("#checkkBoxId").attr("checked") ? alert("Checked") : alert("Unchecked"); 

Not. İşaretliyse, aksi takdirde tanımsızsa true değerini döndürür, bu nedenle TRUE değerini kontrol etmek en iyisidir.

149
19 авг. Cevap Pradeep 19 Ağustos'ta verildi . 2010-08-19 16:38 '10 16:38 2010-08-19 16:38

kullanın:

 <input type="checkbox" name="planned_checked" checked id="planned_checked"> Planned $("#planned_checked").change(function() { if($(this).prop('checked')) { alert("Checked Box Selected"); } else { alert("Checked Box deselect"); } }); 

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <input type="checkbox" name="planned_checked" checked id="planned_checked"> Planned 
117
29 авг. Cevap Lalji Dhameliya 29 Ağustos verilmiştir . 2016-08-29 14:38 '16, 14:38 2016-08-29 14:38

JQuery 1.6'dan beri, jQuery.attr() davranışı değişti ve kullanıcıların bir öğe ile işaretlenmiş durumu geri almak için kullanmamaları önerildi. Bunun yerine, jQuery.prop() kullanmalısınız:

 $("#txtAge").toggle( $("#isAgeSelected").prop("checked") // For checked attribute it returns true/false; // Return value changes with checkbox state ); 

Diğer iki özellik:

 $("#txtAge").get(0).checked $("#txtAge").is(":checked") 
106
27 апр. Cevap Salman A 27 tarafından verildi . 2012-04-27 14:54 '12, 14:54 2012-04-27 14:54

Eğer .prop güncellenmiş bir versiyonunu kullanıyorsanız, probleminizi çözmek için .prop metodunu kullanmalısınız:

$('#isAgeSelected').prop('checked') işaretliyse true , ayarlanmadıysa false döndürür. Bunu onayladım ve bu konuyla daha önce karşılaştım. $('#isAgeSelected').attr('checked') ve $('#isAgeSelected').is('checked') . Aşağıda gösterildiği gibi yapın.

 if($('#isAgeSelected').prop('checked')) { $("#txtAge").show(); } else { $("#txtAge").hide(); } 

Umarım bu yardımcı olur :) - Teşekkür ederim.

80
25 авг. Cevap Rajesh Omanakuttan 25 Ağustos tarafından verilmiştir . 2013-08-25 06:11 '13 6 : 11'de 2013-08-25 06:11

Checkbox özelliği için Click olay işleyicisinin kullanılması, çünkü checked özellik, olay işleyicisinin yürütülmesi sırasında değişebileceği için güvenilir değildir!

İdeal olarak, kodunuzu bir change olay işleyicisine koymak istiyorsunuz, örneğin bayrağın değeri her değiştiğinde çalışır (nasıl yapılırsa yapılsın).

 $('#isAgeSelected').bind('change', function () { if ($(this).is(':checked')) $("#txtAge").show(); else $("#txtAge").hide(); }); 
55
06 окт. cevabı arviman 06 ekim olarak verildi . 2011-10-06 04:12 11, 2011: 10-06 04:12

JQuery olmadan aynı şeyi nasıl bir cevap göndermeye karar verdim. Sadece asi olduğum için.

 var ageCheckbox = document.getElementById('isAgeSelected'); var ageInput = document.getElementById('txtAge'); // Just because of IE <333 ageCheckbox.onchange = function() { // Check if the checkbox is checked, and show/hide the text field. ageInput.hidden = this.checked ? false : true; }; 

İlk önce her iki öğeyi de kimlikleriyle alırsın. Ardından, onay kutusunun işaretlenip işaretlenmediğini kontrol eden ve yaş metin alanının hidden özelliğini buna göre ayarlayan bir işleve bir onay kutusu onchange olayı atarsınız. Bu örnek üçlü işleci kullanır.

Burada kontrol etmek için bir keman var.

ilave

Çapraz tarayıcı uyumluluğu bir sorunsa, CSS display özelliğini hiçbiri ve satır içi olarak ayarlamanızı öneririm.

 elem.style.display = this.checked ? 'inline' : 'none'; 

Daha yavaş ancak tarayıcılar arası uyumlu.

50
20 марта '12 в 22:19 2012-03-20 22:19 Cevap 20 Mart 1212'de Octavian Damiean tarafından 10:19 2012-03-20 22:19 tarihinde verilmiştir.

Bunu yapabileceğini düşünüyorum:

 if ($('#isAgeSelected :checked').size() > 0) { $("#txtAge").show(); } else { $("#txtAge").hide(); } 
40
23 мая '09 в 18:34 2009-05-23 18:34 Cevap 23 Mayıs, 18:34 'de 23 Mayıs' a verilecek 2009-05-23 18:34

Onay kutusunun işaretli olup olmadığını kontrol etmenin birçok yolu vardır:

JQuery doğrulama yöntemi

 if (elem.checked) if ($(elem).prop("checked")) if ($(elem).is(":checked")) if ($(elem).attr('checked')) 

Bir örnek veya belge kontrol edin:

38
14 окт. Parth Chavda'ya verilen cevap 14 Ekim. 2014-10-14 10:48 '14, 10:48 2014-10-14 10:48

Ben de aynı problemle karşılaştım. ASP.NET'i kontrol ettim

 <asp:CheckBox ID="chkBox1" CssClass='cssChkBox1' runat="server" /> 

JQuery kodunda, bayrağın ayarlanıp ayarlanmadığını kontrol etmek için aşağıdaki seçiciyi kullandım ve bir cazibe gibi görünüyor.

 if ($("'.cssChkBox1 input[type=checkbox]'").is(':checked')) { ... } else { ... } 

Eminim CssClass yerine kimliği de kullanabilirsiniz.

 if ($("'#cssChkBox1 input[type=checkbox]'").is(':checked')) { ... } else { ... } 

Umarım bu size yardımcı olur.

37
16 дек. Cevap Nertim 16 Aralık'ta verildi. 2010-12-16 21:50 '10 21:50 2010-12-16 21:50

Benim için çalışıyor:

  $("#isAgeSelected").click(function(){ $(this).is(':checked') ? $("#txtAge").show() : $("#txtAge").hide(); }); 
35
06 янв. Cevap Ashish Amatya 06 Ocak. 2011-01-06 14:33 '11 14:33 2011-01-06 14:33

Bu aynı şeyi başka bir yoludur:

 <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <input type="checkbox" id="isAgeSelected"/> <div id="txtAge" style="display:none">Age is something</div> 
33
24 авг. cevabı Sangeet Şah 24 Ağustos verilmiştir . 2015-08-24 15:19 '15 15:19 2015-08-24 15:19

Bunu yapmamın yolu:

 if ( $("#checkbox:checked").length ) { alert("checkbox is checked"); } else { alert("checkbox is not checked"); } 
30
06 февр. Cevap Dalius I 06 Feb. 2012-02-06 17:31 '12, 17:31, 2012-02-06 17:31
 $(document).ready(function() { $('#agecheckbox').click(function() { if($(this).is(":checked")) { $('#agetextbox').show(); } else { $('#agetextbox').hide(); } }); }); 
30
25 нояб. Tarafından verilen cevap Jumper Pot 25 Kas. 2014-11-25 15:25 '14, 15:25 2014-11-25 15:25

Bu kodu kullanabilirsiniz:

 $('#isAgeSelected').click(function(){ console.log(this.checked); if(this.checked == true) { $("#txtAge").show(); } else { $("#txtAge").hide(); } }); 
30
13 окт. tarafından verilen cevap sandeep kumar 13 Eki 2016-10-13 09:03 '16, 09:03, 2016-10-13 09:03
 $(selector).attr('checked') !== undefined 

Giriş doğrulanırsa true değilse true olur.

30
12 февр. cevabı fe_lix_ 12 Feb. 2012-02-12 18:15 '12, 18:15, 2012-02-12 18:15

Bunu kullan:

 if ($('input[name="salary_in.Basic"]:checked').length > 0) 

İşaretliyse, uzunluk sıfırdan büyük.

29
27 июля '16 в 12:46 2016-07-27 12:46 Cevap 27 Temmuz’da Hamid NK’da 12:46 2016-07-27 12:46

Kullanabilirsiniz:

  if(document.getElementById('isAgeSelected').checked) $("#txtAge").show(); else $("#txtAge").hide(); 

 if($("#isAgeSelected").is(':checked')) $("#txtAge").show(); else $("#txtAge").hide(); 

Her ikisi de çalışmalı.

28
28 апр. Cevap Muhammed Awais 28 Nis tarafından verildi 2016-04-28 15:07 '16, 15:07 2016-04-28 15:07

Bu örnek düğme içindir.

Aşağıdakileri deneyin:

 <input type="button" class="check" id="checkall" value="Check All" />  <input type="button" id="remove" value="Delete" /> <br/> <input type="checkbox" class="cb-element" value="1" /> Checkbox 1 <br/> <input type="checkbox" class="cb-element" value="2" /> Checkbox 2 <br/> <input type="checkbox" class="cb-element" value="3" /> Checkbox 3 <br/> $('#remove').attr('disabled', 'disabled'); $(document).ready(function() { $('.cb-element').click(function() { if($(this).prop('checked')) { $('#remove').attr('disabled', false); } else { $('#remove').attr('disabled', true); } }); $('.check:button').click(function() { var checked = !$(this).data('checked'); $('input:checkbox').prop('checked', checked); $(this).data('checked', checked); if(checked == true) { $(this).val('Uncheck All'); $('#remove').attr('disabled', false); } else if(checked == false) { $(this).val('Check All'); $('#remove').attr('disabled', true); } }); }); 
24
03 янв. Cevap usayee tarafından verildi Jan 03 2014-01-03 13:38 '14, 13:38 2014-01-03 13:38

Asıl cevap bunu benim için yapmadı. Bu olsa oldu:

 <script type="text/javascript"> $(document).ready(function(){ $("#li_13").click(function(){ if($("#agree").attr('checked')){ $("#saveForm").fadeIn(); } else { $("#saveForm").fadeOut(); } }); }); </script> 

Temel olarak, # li_13 elemanı tıklandığında, # öğesinin ((onay kutusu)) .attr('checked') işlevini kabul edip .attr('checked') eder. Eğer öyleyse, o zaman fadeIn element #saveForm, ve eğer fadeOut element saveForm ise.

23
10 дек. Cevap MDMoore313 10 Aralık'ta verilir. 2012-12-10 08:02 '12, 08:02 2012-12-10 08:02

1) HTML işaretlemeniz:

 <input type="checkbox" /> 

attr:

 $(element).attr("checked"); // Will give you undefined as initial value of checkbox is not set 

Prop kullanılıyorsa:

 $(element).prop("checked"); // Will give you false whether or not initial value is set 

2) HTML işaretlemeniz:

  <input type="checkbox" checked="checked" />// May be like this also checked="true" 

attr:

 $(element).attr("checked") // Will return checked whether it is checked="true" 

Kullanılan Prop:

 $(element).prop("checked") // Will return true whether checked="checked" 
23
30 окт. cevabı Somnath Kharat 30 ekim tarafından verildi . 2013-10-30 15:43 '13 15:43 2013-10-30 15:43

Anahtar: 0/1 veya daha fazla

 <input type="checkbox" id="nolunch" /> <input id="checklunch />" $('#nolunch').change(function () { if ($(this).is(':checked')) { $('#checklunch').val('1'); }; if ($(this).is(':checked') == false) { $('#checklunch').val('0'); }; }); 
21
08 янв. Tarafından verilen cevap user2385302 Oca 08 2015-01-08 16:10 '15: 16:10 2015-01-08 16:10

Bunu kullanıyorum:

  <input type="checkbox" id="isAgeSelected" value="1" /> <br/> <input type="textbox" id="txtAge" /> $("#isAgeSelected").is(':checked') ? $("#txtAge").show() : $("#txtAge").hide(); 
19
06 сент. Cevap Nishant Kumar tarafından verilir 06 Eylül 2013-09-06 09:43 '13 9:43 2013-09-06 09:43

Sorununuz için bir JavaScript çözümü önermiş olsanız da ( checkbox textbox gösterilir), bu sorun yalnızca css yardımı ile çözülebilir. Bu yaklaşımla formunuz JavaScript’i devre dışı bırakan kullanıcılar için işe yarar.

Aşağıdaki HTML’ye sahip olduğunuzu varsayarak:

 <label for="show_textbox">Show Textbox</label> <input id="show_textbox" type="checkbox" /> <input type="text" /> 

İstenilen işlevselliği elde etmek için aşağıdaki CSS'yi kullanabilirsiniz:

  #show_textbox:not(:checked) + input[type=text] {display:none;} 

Diğer senaryolarda, uygun CSS seçicileri hakkında düşünebilirsiniz.

İşte bu yaklaşımı gösteren bir senaryo .

19
22 авг. Cevap Ormoz tarafından 22 Ağustos'ta verildi . 2015-08-22 22:09 '15, 10:09 pm 2015-08-22 22:09
 if($("#checkkBoxId").is(':checked')){ alert("Checked=true"); } 

veya

 if($("#checkkBoxId").attr('checked') == true){ alert("checked=true"); } 
16
10 июня '13 в 16:12 2013-06-10 16:12 Cevap, 10 Haziran 13'te İjarlax tarafından 16:12 2013-06-10 16:12 tarihinde verilmiştir.

Bunun bir tür vahiy olmadığına eminim, ancak hepsini bir örnekte görmedim:

Tüm işaretli kutular için seçici (sayfada):

 $('input[type=checkbox]:checked') 
15
15 нояб. Cevap Tsonev 15 Kasım'da verildi . 2013-11-15 13:50 '13 13:50 2013-11-15 13:50
  • 1
  • 2