jQuery: выберите все исходные данные с уникальным идентификатором (Селекторы Regex/Wildcard)

У меня есть некоторые текстовые поля на веб-форме, которые имеют идентификаторы как это:

txtFinalDeadline_1
txtFinalDeadline_2
txtFinalDeadline_3
txtFinalDeadline_4

В моем jQuery, как я нахожу всех тех для присвоения значения им. Прежде чем у меня было подчеркивание, и их все назвали txtFinalDeadline, я мог сделать это, и это работало.

$(this).find("#txtFinalDeadline").val(formatDate);

Однако это было, когда их все назвали тем же самым. Теперь у меня есть _x после имени, и я не уверен, как пойти о присвоении того же самого значения как прежде им.

9
задан Qantas 94 Heavy 15 September 2014 в 16:32
поделиться

3 ответа

Я не Не знаю, могу ли я гарантировать «порядок», но этот выборщик должен работать:

$ (this) .find ('input [id ^ = textFinalDeadline _]'). val (formatDate);

Даже тогда, jQuery оптимизирован для обработки id особым образом и может обрабатывать только 1 id.

Лучшим способом было бы использовать в этих текстовых полях класс (возможно, date ), чтобы вы могли просто использовать селектор '. Date' .

6
ответ дан 3 November 2019 в 00:00
поделиться

Помогает ли вам Child Selector ?

0
ответ дан 3 November 2019 в 00:00
поделиться

Существует несколько способов выбора регулярных выражений или подстановочных знаков:

Использование встроенных подстановочных знаков селектора jQuery:

$('#textFinalDeadline_\\S*').val(formatDate);

обновление: Я заметил, что этот метод больше не работает, начиная с jQuery 1.3.2.

Использование селекторов CSS3:

$('input[id^=textFinalDeadline_]').val(formatDate);

Использование .filter () и match () :

$('input').filter(function(){
  return this.id.match(/txtFinalDeadline_*/);
}).val(formatDate);

Наконец, вы можете захотеть использовать селектор регулярных выражений .

$('input:regex(id, txtFinalDeadline_*)').val(formatDate);
6
ответ дан 3 November 2019 в 00:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: