【问题标题】:HTML Javascript Adding a var as an input value inside a for loopHTML Javascript在for循环中添加一个var作为输入值
【发布时间】:2014-08-22 20:49:43
【问题描述】:

我正在做的是创建一个表。我正在使用 Javascript 在 for 循环中添加带有 html 语句的表的值。我知道这可能很难可视化,所以我添加了一张图片来显示左侧的单选按钮,并在行的其余部分显示相应的数据。我正在尝试为单选按钮提供与我的站点 ID 相同的值。

这是我的表的示例。

这是我的 for 循环:

   //html is the html code that will be converted from javascript to html, and the array for siteID is also declared before the for loop   
  

 //for loop to add the results to the array and also to the table
    for (var i = 0; i < results4.length; i++) {
      var object4 = results4[i];
      //the value of the site ID
      siteIDArray[i] = object4.get('SiteID');
     
      html += "<tr><td><center><br><input type='radio' onclick='alert(this.value)' 
                name='siteChosen' value='siteIDArray[i]'><center></td>";
      html += "<td><center><p>" + siteIDArray[i] + "</p></center></td>";
      ...  </tr>

 }
     

我的问题是这只是提醒文本siteIDArray[i],当我尝试执行value='"+siteIDArray[i]+"'value="+siteIDArray[i]+" 时,表格不会加载。我觉得我真的很亲近。我只是错过了一件小事吗?


使用下面 Elliot de Vries 的答案解决了!

【问题讨论】:

  • 您遇到的具体错误是什么?
  • 我没有错误消息,但我可以看到表格拒绝加载。
  • 但是您在浏览器控制台中是否有任何错误消息?
  • 你在哪里声明了变量html
  • 提示:您在第一个块中有一个未关闭的&lt;center&gt; 标签。它被打开了两次。

标签: javascript html dom for-loop


【解决方案1】:

现在“value”属性的值是字符串“siteIDArray[i]”而不是它的值。你会想把它放在引号之外:

html += "<tr><td><center><br><input type='radio' onclick='alert(this.value)' 
                name='siteChosen' value='" + siteIDArray[i] + "'><center></td>";

【讨论】:

  • 取自问题下方 cmets 中的@undefined
  • 好地方,但我认为这不会阻止要渲染的表格。
  • 嗯? @undefined 是什么?
  • 好吧,每个程序员都知道如何连接字符串 :)
  • 如果在换入我的行版本之前尝试从引号中取出数组引用时表没有加载,我怀疑它可能只是一个放错位置或缺少引号 -这也是为什么使用字符串构建 HTML 会很棘手的原因之一。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 2019-11-15
  • 2021-08-15
  • 2015-08-28
  • 1970-01-01
  • 2021-12-20
相关资源
最近更新 更多