Bir radyo düğmesini değerine göre bulmak için JQuery'yi nasıl kullanabilirim?
Yanıtlar:
Bunu dene:
$(":radio[value=foobar]")
Bu, özniteliğe sahip tüm radyo düğmelerini seçecektir value="foobar"
.
function(i, val) { $(":radio[value="+val+"]").attr('checked',true); }
JQuery 1.6 kullanıyorum ve bu benim için çalışmadı: $(":radio[value=foobar]").attr('checked',true);
Bunun yerine kullanıyorum: $('[value="foobar"]').attr('checked',true);
ve harika çalışıyor.
Kullandığım gerçek kod önce radyoları temizler ve prop
bunun yerine kullanırattr
$('[name=menuRadio]').prop('checked',false);
$('[name=menuRadio][value="Bar Menu"]').prop('checked',true);
Bu da şu şekilde sağlanabilir:
$('input[type="radio"][value="aaa"]').val();
Bu, aaa değerine sahip radyoyu seçecektir.
İle .filter()
yöntemle:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
aaa
dönmek sonra'aaa'
HTML'de buna benzer bir şey olduğunu söyle:
<fieldset>
<input type="radio" name="UI_opt" value="alerter" checked> Alerter<br/>
<input type="radio" name="UI_opt" value="printer"> Printer<br/>
<input type="radio" name="UI_opt" value="consoler"> Consoler<br/>
</fieldset>
o zaman bu tür şeyler çalışır.
$("fieldset input[name='UI_opt'][checked]").val()
Tam bir seçici şöyle görünür:
bool shipToBilling = $("[name=ShipToBillingAddress][value=True]")
muhtemelen bunun gibi birden fazla radyo düğmesi grubunuz olduğu göz önüne alındığında
<input name="ShipToBillingAddress" type="radio" value="True" checked="checked">
<input name="ShipToBillingAddress" type="radio" value="False">
<input name="SomethingElse" type="radio" value="True" checked="checked">
<input name="SomethingElse" type="radio" value="False">
Bunun gibi bir kimlik seçici kullanmak (sonraki örnek) kötüdür çünkü aynı kimliğe sahip birden fazla öğeye sahip olmamanız gerekir. Bu soruyu bulan birinin bunun kötü olduğunu zaten bildiğini varsayıyorum.
$("#DidYouEnjoyTheMovie:radio[value=yes]")
Aşağıdakiler :radio
ilgi çekici olabilir veya olmayabilir
Çünkü: radyo bir jQuery uzantısıdır ve CSS belirtiminin bir parçası değildir,: radyo kullanan sorgular yerel DOM querySelectorAll () yöntemi tarafından sağlanan performans artışından yararlanamaz. Modern tarayıcılarda daha iyi performans için bunun yerine [type = "radio"] kullanın.