2009-09-02 2 views
0

Я хочу выбрать вход с Prototypejs и его функцией $$.Как выбрать входы с именем типа "abc []" с Prototypejs?

Я могу это сделать:

$$('input') 

Но я хочу, чтобы быть более точным в моем поиске, с именем входа. имени входа, я хочу, чтобы выбрать это «массив []»:

$$('input[name="array[]"]') 

Я думаю, что [и] во имени создает проблему, так как результат я получаю то же самое, как если бы я сделал это:

$$('input') 

Как выбрать входы, имеющие такое имя, как «нечто []»?

+1

Только IE проявляет это поведение в прототипе. '$$ ('input [name =" array [] "]')' работает в любом другом браузере. Какой браузер и какая версия Prototype вы используете? –

+0

Прототип 1.5.1 с Firefox. Также пытался с 1.6.0.3. – kevin

+0

Какой Firefox? Работает на моем FF 3.0.13 с Prototype 1.5.2 (выигрыш). –

ответ

2

Кажется, что это была ошибка с прототипом 1.6.0.3 и, возможно, более низкие версии.

Работы с прототипом> = 1.6.1

3

Вы можете быть немного более многословным и использование:

$$('input').findAll(function (o) { return o.name=="array[]"; }) 
+0

Да, я надеялся, что не смогу этого сделать. – kevin

0

Вы, вероятно, ищете

$$('input[name="array[]"]')[0] 

потому что $$() возвращает массив входных элементов? Работает на меня.

+0

Работает для меня тоже, но, как я описал, он возвращает все элементы ввода в документе. Мне нужен массив элементов с именем array [], а не другими. – kevin

+0

Кажется, что не работает с селекторами прототипов. Btw, '$ ('input [name =" array [] "]')' работает в jQuery. –

Смежные вопросы