Mam następujące HTML:jQuery: Wybierz pole wyboru na podstawie nazwy i wartości
<form id="test">
<input type="radio" value="A" name="C1"/>
<a href="javascript:selectCheckbox('C1', 'A');"> OPTION-A </a>
<input type="radio" value="B" name="C1"/>
<a href="javascript:selectCheckbox('C1', 'B');"> OPTION-B </a>
<input type="radio" value="C" name="C1"/>
<a href="javascript:selectCheckbox('C1', 'C');"> OPTION-C </a>
// several other: C2, C3, ..
</form>
I próbuję wdrożyć selectCheckbox(chkbox, value)
, który powinien:
- wyszukać wszystkie radia z
name = chkbox
i ustawićattr('checked') = false
- poszukiwania radia mającego
name = chkbox AND val() = value
i ustawattr('checked') = true
nie mogę dowiedzieć się, co wybierak w prawo jest Próbowałem następujących bez powodzenia:
var name = "#" + chkbox + " :checked";
$(name).each(.. // doesn't work
$('#'+chkbox).each(.. // if finds only the first occurence
// of i.e. C1, although I would expect 3
$("input[@name='"+chkbox+"']").each(function() { ..
// leaves me with the following error:
// Warning: Expected attribute name or namespace but found '@name'
Proszę dać mi znać, co robię źle. Wielkie dzięki!
Nie powinniśmy mieć wiele elementów z tym samym identyfikatorem („C1”) – Zed
Masz rację, usunąłem identyfikator teraz. Dzięki! – MrG
"Uwaga: W jQuery 1.3 selektory stylu @attr zostały usunięte (były wcześniej przestarzałe w jQuery 1.2).Po prostu usuń symbol "@" z selektorów, aby znów zadziałały. " – Zed