从2D Javascript数组创建动态表/网格

时间:2016-10-19 16:01:29

标签: javascript

我正在尝试创建一个6x6表格来存储我正在处理的简单拼图的数据,而不是显示6行6个单元格,我似乎只能输出所有36个单元格在一个表行内。谁能发现我在这里做错了什么?对于上下文:B& W代表蓝色和白色,并且数组包含"解决方案"这个难题。



@Configuration
public class MyDataSourceConfig {
/**
 * My data source.
 * 
 * @return the data source
 */
@Bean(name = "myDS")
@Primary
public DataSource myDataSource() {
    // I need to add a way to get a data source object using the connection
    // from the class
    Connection conn = DBConnection.getConnection();
    /**
     * TODO Add code to create data source with the connection provider
     * DBConnection.class
     */
    return dataSource;

}

@Bean(name = "jdbcMydb")
@Autowired
public JdbcTemplate hrdbJdbcTemplate(@Qualifier("myDS") DataSource jdbcMydb) {
    return new JdbcTemplate(jdbcMydb);
}}




1 个答案:

答案 0 :(得分:1)

请注意,您为每一行使用相同的ID。当您使用document.getElementById时,这将始终返回具有此ID的第一个节点,因为ID唯一地标识DOM节点。建议不要让多个DOM节点具有相同的ID。

改为做。

var x = document.createElement("TABLE");
x.setAttribute("id", "gridTable");
document.body.appendChild(x);

for (i = 0; i < solutionArray[i].length; i++) {
    //output the row tag
    var y = document.createElement("TR");
    y.setAttribute("id", "row");
    document.getElementById("gridTable").appendChild(y);

    for (j = 0; j < solutionArray.length; j++) {

    ///output the td tag
    var z = document.createElement("TD");
    var t = document.createTextNode(solutionArray[i][j]);
    z.appendChild(t);
   // change document.getElementById("row") by the y variable.
    y.appendChild(z);
  }
}

您可以将document.createElement返回的引用设置为变量,并随意执行任何操作。