2013-10-14 9 views
0

я должен вставить символы (от простой переменной или любой другой) в текстовые поля, которые выглядят следующим образом:Update 10 динамических текстовых полей с уникальными, но недружелюбные имена

<input type="text" name="customPlugin[2127][textinput][comment]" size="10" value="" class="vmcustom-textinput"> 

Там будет до десяти из них на странице, и они будут работать 2127, 2128, 2129 и т. д. У меня снова есть чертовски время, пытаясь получить jQuery или JavaScript, чтобы выбрать элемент с этим именем (customPlugin [2127] [textinput] [комментарий])

+0

Итак, что вы пробовали? И у вас есть контроль над тем, как генерируются входы? –

+0

Для этого нужно использовать атрибут 'name'? Можете ли вы попробовать атрибуты «данные», например. 'data-textinput',' data-comment = 'Мой комментарий''. Просто предложение, но кажется, что наложение всего на атрибут 'name' кажется негибким и трудным для работы. –

+0

Исправлена ​​ли часть '[textinput] [comment]'? Если это так, то может работать '$ ('. Vmcustom-textinput [name^=" customPlugin "]')'). Он использует CSS3 [селектор атрибутов] (http://www.w3.org/TR/css3-selectors/#attribute-selectors), чтобы выбрать все '' s с атрибутом _name_, начиная с _customPlugin_. – andyb

ответ

0

$('[name="customPlugin[2127][textinput][comment]"]');

Это должно работать ...

document.querySelector('[name="customPlugin[2127][textinput][comment]"]');

Кажется, тоже работает.

EDIT: после некоторых испытаний удалены дополнительные экраны для [и]. Я просто предположил, что они нужны, но не проверял.

+1

Почему вы избегаете '[' и ']' символов? '\ [' в строке JS означает '['. – Quentin

+0

Ну что вы знаете! Эскапизм здесь даже не нужен. Я просто предполагал, что они нужны. – JNissi

2

Убедитесь, что вы заключаете значение имени атрибута в кавычках, так как он содержит специальные символы:

$('input[name="customPlugin[2127][textinput][comment]"]').val('your insertion') 
Смежные вопросы