0

複雑な質問がありますが、これまでのところ、私の Google-Fu は明らかに弱すぎて解決できません。

配列内の一連の名前をめくって、それらすべてを選択のために提示することになっている並べ替えの形式を構築しています。

  • 選択した名前をフォーム入力の 1 つのセット (具体的にはテキスト) に入れます。
  • より多くの同じテキスト入力を使用して一連の div を動的に生成します。
  • 残りの名前をそれらの新しい div に入れます

JQuery と通常の Javascript を組み合わせて、これらのうち最初の 2 つを問題なく動作させることができました。しかし、私が抱えている問題は最後のステップで発生します。

これが私がやっていることのサンプル行です:

var lname = '<p>Last name: <input type=\'text\' class=\'inputbox\' value=lastNames[i] /></p>';
...
...
$('.others').append(...,lname,...);

これはfor (i=0; i<lastNames.length; i++)ループ内にあるため、配列内の名前ごとに div と入力を内部に作成する計画です。これはすでに機能しています。問題は、ページを読み込んで名前を選択すると、3 つの新しい div が表示されることです...各ボックス内のテキストは、たとえば、Smith ではなく lastNames[i] です。

ここで構文的に何が欠けていますか? それとも、私が思っていたよりも複雑ですか?

4

2 に答える 2

0

今あなたがしているのは、文字列を設定することだけです。目的の結果を得るには、lastNames 変数を文字列に連結する必要があります。

var lname = '<p>Last name: <input type=\'text\' class=\'inputbox\' value=\'' + lastNames[i] + '\'></p>';
于 2012-07-24T15:33:27.850 に答える
0

このソリューションがあなたの問題に非常に適しているjQueryテンプレートを見ることをお勧めします。

編集:基本的に、準備が整ったテンプレートを設定し、{{each}} 条件付き書式を入力するだけで、js の for ループなしで、持っているリストが自動的に作成されます。

于 2012-07-24T15:46:25.593 に答える