我有一些复杂的问题要问,到目前为止,我的谷歌显然太弱了,无法解决这个问题。
我正在构建一种类型的形式,它应该翻阅数组中的一堆名称,将它们全部呈现给选择,并且:
我已经让前两个工作得很好,混合了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。
我在这里语法上缺少什么?还是比我想的更复杂?
答案 0 :(得分:0)
现在你要做的就是设置一个字符串。您需要将lastNames变量连接到字符串以获得所需的结果。
var lname = '<p>Last name: <input type=\'text\' class=\'inputbox\' value=\'' + lastNames[i] + '\'></p>';
答案 1 :(得分:0)
我建议您查看jQuery templating此解决方案非常适合您的问题。
编辑:基本上您只需设置一个准备好的模板,然后输入{{each}}条件格式,它就会自动创建您拥有的列表,而js中没有任何for循环。