У меня есть страница, созданная динамически. Он может иметь несколько различных радио-кнопок с ID как так:Справка по селектору jQuery - как найти элемент, идентификатор которого начинается и заканчивается конкретными символами
<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" />
Для того, чтобы написать функции изменения, я делаю что-то вроде этого:
$('[id^=cc-radio-opt-]').live("change", function() {
var idx = $(this).attr('id').split('-').pop();
});
Это хорошо работает. Но теперь, внутри этой функции изменения, мне нужно скрыть кучу других связанных полей. Они названы так:
<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" />
мне нужно, чтобы быть в состоянии захватить все поля, чьи идентификаторы начинаются с «CC» и заканчиваться тем же номером, радио-кнопки, которая была нажата (определяется переменной idx
. Я знаю, что я могу получить все поля, которые начинаются с «CC», делая это:
$('[id^=cc-]');
Но как я могу также указать, что они должны закончить с тем, что idx
это другими словами, если cc-radio-opt-1
радио? щелкнули, как я могу получить только cc-number-1
и cc-month-1
?
Нет, они не дублируют идентификаторы. Если вы посмотрите более внимательно, вы увидите, что одна группа начинается с cc, а другая начинается с gc. – EmmyS
для справок в дальнейшем. .live устарел http://api.jquery.com/live/ вы должны использовать .on вместо http://api.jquery.com/on/ – iAmClownShoe
@iAmClownShoe - я знаю, но из-за CMS, с которой мы работаем, мы застряли в старой версии jQuery. – EmmyS