2009-09-02 5 views
0

Prototypejsとその$$関数で入力を選択したいと思います。Prototypejsで "abc []"のような名前の入力を選択するにはどうすればよいですか?

$$('input') 

しかし、私は入力の名前で、私の検索では、より正確になりたい:

私はこれを行うことができると思います。私は名前を考える[と]

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

私が得る結果は、私がこれをしなかった場合と同じであるため、トラブルを作成している: 私は選択したい入力の名前は「アレイ[]」です:

「something []」などの名前を持つ入力を選択するにはどうすればよいですか?

+1

プロトタイプでこの現象が発生するのはIEだけです。 '$$( 'input [name =" array [] "]')'は他のすべてのブラウザで動作します。どのブラウザーとどのPrototypeバージョンを使用していますか? –

+0

Firefoxのプロトタイプ1.5.1。 1.6.0.3でも試しました。 – kevin

+0

どのFirefoxですか?プロトタイプ1.5.2(win)でFF 3.0.13で動作します。 –

答えて

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

私のためにも動作しますが、私が説明したように、ドキュメントのすべての入力要素を返します。 名前配列[]以外の要素ではない配列の配列が必要です。 – kevin

+0

プロトタイプセレクタで動作しないようです。 Btw、 '$( 'input [name =" array [] "]')'はjQueryで動作します。 –