SORU
10 HAZİRAN 2009, ÇARŞAMBA


Nasıl yok denetlenmesi, jQuery radiobuttons sıfırlamak için

Bu gibi HTML radyo düğmesi var:

<td>
    <input id="radio1" type="radio" name="correctAnswer" value="1">1</input>
    <input id="radio2" type="radio" name="correctAnswer" value="2">2</input>
    <input id="radio3" type="radio" name="correctAnswer" value="3">3</input>
    <input id="radio4" type="radio" name="correctAnswer" value="4">4</input>
</td>

Bu form, etiket ve kullanıcı bir form gönderdiğinde tüm radyo düğmeleri varsayılan yapmak istiyorum. Hiçbiri anlam kontrol etti.

Bu kod var ama bir hata [0] is null or not an object diyerek verir

$('input[@name="correctAnswer"]')[0].checked = false;
$('input[@name="correctAnswer"]')[1].checked = false;
$('input[@name="correctAnswer"]')[2].checked = false;
$('input[@name="correctAnswer"]')[3].checked = false;

IE 6'da yapıyorum.

CEVAP
10 HAZİRAN 2009, ÇARŞAMBA


1.6 daha önce jQuery sürümleri kullanın:

$('input[name="correctAnswer"]').attr('checked', false);

1.6 sonra jQuery sürümleri kullanmanız gerekir:

$('input[name="correctAnswer"]').prop('checked', false);

ama eğer 1.6.1 kullanıyorsanız ilk formu (NOT 2 aşağıya bakınız) kullanabilirsiniz.

NOT 1:ikinci değişken olması önemlidiryanlışdeğil< . "" . yanlış ^güçlü beri< . "" . yanlış ^güçlü falsy bir değer değil. yani

if ("false") {
    alert("Truthy value. You will see an alert");
}

NOT 2:JQuery olarak 1.6.0, ama şimdi biraz farklı iki ilgili şeyler iki benzer yöntemler, .attr .prop vardır. Bu durumda, tavsiyem eğer 1.6.1 kullanırsanız yukarıda çalışır sağlamak . Yukarıda ise 1.6.0, yükseltmelisiniz kullanıyorsanız 1.6.0 ile çalışmaz. Eğer ayrıntı istiyorsanız, okumaya devam edin.

Ayrıntılar:Ne zaman çalışma ile düz HTML DOM öğeleri, özellikleri ekli DOM öğesi (checked, type, value, vb) sağlayan bir arayüz için çalışan devletin HTML sayfası. Ayrıca HTML ' de belirtildiği gibi HTML Öznitelik değerleri erişim sağlar.getAttribute/.setAttribute arabirim var. Önce 1.6 jQuery değerleri her iki tür erişim için bir yöntem, .attr, sağlayarak dezavantajlar. jQuery 1.6 iki yöntem, .attr .prop bu durumlar arasında ayrım sağlar.

.prop .attr HTML öznitelik değerini ayarlamak için izin verirken DOM element bir özellik ayarlamak için izin verir. Eğer çalışma ile düz DOM ve set kontrol özelliği, elem.checked true false değiştirmek için çalışan değer (ne kullanıcının gördüğü) ve döndürülen değer parça sayfasında devlet. elem.getAttribute('checked') ancak sadece başlangıç durumu (ve HTML başlangıç durumuna bağlı olarak 'checked' undefined verir). İçinde 1.6.1 kullanarak .attr('checked', false) hem elem.removeAttribute('checked') elem.checked = false beri değişimine neden çok geriye uyumluluk sorunları ve anladığımı söyleyemem isteseydiniz set HTML özniteliği veya DOM özelliği. documentation for .prop daha fazla bilgi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CNNMoney

    CNNMoney

    16 Kasım 2006
  • HTC

    HTC

    12 Ocak 2006
  • NYCarspotter

    NYCarspotter

    26 EYLÜL 2011