尝试将Javascript数组变量分配给HTML输入值属性

时间:2012-07-24 15:29:59

标签: javascript jquery html input

我有一些复杂的问题要问,到目前为止,我的谷歌显然太弱了,无法解决这个问题。

我正在构建一种类型的形式,它应该翻阅数组中的一堆名称,将它们全部呈现给选择,并且:

  • 将所选名称放入一组表单输入(特别是文本);
  • 动态生成一堆包含更多相同文本输入的div;
  • 将名称的 rest 放入新的div中

我已经让前两个工作得很好,混合了JQuery和常规Javascript。但是我在最后一步发生了这个问题。

以下是我正在做的事情的示例行:

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 ...而每个框内的文本例如是lastNames [i]而不是Smith。

我在这里语法上缺少什么?还是比我想的更复杂?

2 个答案:

答案 0 :(得分:0)

现在你要做的就是设置一个字符串。您需要将lastNames变量连接到字符串以获得所需的结果。

var lname = '<p>Last name: <input type=\'text\' class=\'inputbox\' value=\'' + lastNames[i] + '\'></p>';

答案 1 :(得分:0)

我建议您查看jQuery templating此解决方案非常适合您的问题。

编辑:基本上您只需设置一个准备好的模板,然后输入{{each}}条件格式,它就会自动创建您拥有的列表,而js中没有任何for循环。