2009-08-12 15 views
0

ダイナミックHTML入力ボックスを生成するjqueryを持つWebページがあります。ダイナミック入力ボックス用のJQueryオートコンプリート

このようなものがページに表示されます。

<input type="text" id="numbers[]" ></input> 
<input type="text" id="numbers[]" ></input> 
<input type="text" id="numbers[]" ></input> 
<input type="text" id="numbers[]" ></input> 

これらのテキストボックスはすべて同じ自動入力補完を使用し、それはこれらのすべてで私の自動入力補完を指すようにjQueryで可能ですか?

+0

どのオートコンプリートを使用していますか? また、各入力に異なる有効なIDがあることを確認する必要があります。 IDとNAMEトークンは、文字([A-Za-z])で始まり、文字、数字([0-9])、ハイフン( - )、アンダースコア(_ ")、コロン(": ")、ピリオド("。 ") – Karl

+0

@Karl:スペックの間違った部分を引用しています。 name属性は、nameトークンと同じではありません。 name属性には、角カッコを含む文字データを含めることができます。 – slikts

答えて

5

まず、idがドキュメント全体で一意である必要がありますので、コードは正しくありません。あなたはおそらく何を意味

<input type="text" name="numbers[]" ></input> 
<input type="text" name="numbers[]" ></input> 
<input type="text" name="numbers[]" ></input> 
<input type="text" name="numbers[]" ></input> 

は、あなたが入力をラップdiv要素を追加することができ、単にそれらをすべて

var data = "foo bar baz"; 
$('input[name^=numbers]').autocomplete(data); 
+0

本当に間違っているのは間違いです。それは完璧に働いた、多くのありがとう。 – Shane

+0

これは、ヘルプを依頼する前に文書を検証する必要がある理由です。 – slikts

+0

入力欄には国を入力することができます。テキストファイルには国の一覧がありますので、ユーザーが「AM」と入力すると、「jQuery」は最初の2文字に「AM」と一致するテキストファイル文字 –

0

と一致しますセレクタを使用し、それらのボックスに自動補完を有効にすることです、それは決してありません新しい入力を作成すると、jqueryの内部キャッシュにIDを格納します。

var $input = '<input name=somename[] type="text"/>';  
$('#mywrap').append($input); 
$input.data('id', 'some id'); 

次に、次のようにしてオートコンプリートにアクセスできます。

$('#mywrap input').live('click', function() { 
    var id = $(this).data('id'); 
    // and now do anything with the new id you have! 
}); 
関連する問題