Mam stronę, która jest tworzona dynamicznie. To może mieć wiele różnych przycisków radiowych z identyfikatorami tak:pomoc selektora jQuery - jak znaleźć element, którego ID zaczyna się i kończy na określonych znakach
<input type="radio" id="cc-radio-opt-0" />
<input type="radio" id="cc-radio-opt-1" />
<input type="radio" id="gc-radio-opt-0" />
<input type="radio" id="gc-radio-opt-1" />
Aby napisać funkcje zmian, robię coś takiego:
$('[id^=cc-radio-opt-]').live("change", function() {
var idx = $(this).attr('id').split('-').pop();
});
to działa dobrze. Ale teraz, w tej funkcji zmiany, muszę ukryć kilka innych powiązanych pól. Są one nazwane tak:
<input type="text" id="cc-number-0" />
<input type="text" id="cc-month-0" />
<input type="text" id="gc-number-0" />
<input type="text" id="gc-month-0" />
<input type="text" id="cc-number-1" />
<input type="text" id="cc-month-1" />
<input type="text" id="gc-number-1" />
<input type="text" id="gc-month-1" />
muszę być w stanie chwycić wszystkie pola, których identyfikatory zacząć „cc” i kończą z tym samym numerem jak przycisk radiowy, który został kliknięty (określonej przez zmienną idx
. wiem, że mogę dostać wszystkie pola, które zaczynają się od „cC” w ten sposób:
$('[id^=cc-]');
Ale jak mogę również wskazać, że trzeba skończyć z tym, co idx
jest innymi słowy, jeśli radio cc-radio-opt-1
jest? kliknięte, jak uzyskać tylko cc-number-1
i cc-month-1
?
Nie, nie są one powielać identyfikatory. Jeśli przyjrzysz się uważniej, zobaczysz, że jedna grupa zaczyna się od DW, a druga zaczyna od gc. – EmmyS
do wykorzystania w przyszłości. .live jest przestarzałe http://api.jquery.com/live/ powinieneś używać .on zamiast http://api.jquery.com/on/ – iAmClownShoe
@iAmClownShoe - jestem świadomy, ale ze względu na CMS, z którym współpracujemy, utknęliśmy w starszej wersji jQuery. – EmmyS