javascript - 将 for 循环中的每个整数分配给输入 id 属性[for 循环工作正常]
问题描述
我正在尝试将for loop的每个整数分配给输入元素的 id 属性。
我期待这样的输出===>
<div style="clear:both">
<input class="dataFromSpreadsheet" type="text" style="float:left" id="0:0" value="">
<input class="dataFromSpreadsheet" type="text" style="float:left" id="0:1" value="">
<input class="dataFromSpreadsheet" type="text" style="float:left" id="0:2" value="">
</div>
但是,我的输出现在是这样的 ===>
<div style="clear:both">
<input class="dataFromSpreadsheet" type="text" style="float:left" id="7:2" value="">
<input class="dataFromSpreadsheet" type="text" style="float:left" id="7:2" value="">
<input class="dataFromSpreadsheet" type="text" style="float:left" id="7:2" value="">
</div>
var newTable = "<input class = 'dataFromSpreadsheet' type = 'text' style = 'float:left' id = '' value = ''>";
for (var row = 0; row < 8; row++) {
document.write("<div style = 'clear:both'>");
console.log(row + 'this is row') // this works, starting from 0 to 7
for (var col = 0; col < 3; col++) {
$('.dataFromSpreadsheet').attr('id', row + ':' + col);
document.write(newTable);
console.log(col + 'this is column') // this works, starting from 0 to 2
}
document.write("</div>")
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我不明白为什么输出是id = 7 : 2,尽管两个 for 循环都可以正常工作。
先感谢您!
解决方案
你在打电话
$('.dataFromSpreadsheet').attr('id', row +':'+col);
多次,它的作用是覆盖所有输入的 id ,所以你得到 7:2 因为那是循环停止覆盖的时候
您需要遍历每个.dataFromSpreadsheet
并为单个项目添加 id
尝试这样的事情:
for (var row = 0; row < 8; row++) {
document.write("<div style = 'clear:both'>");
console.log(row + 'this is row') // this works, starting from 0 to 7
for (var col = 0; col < 3; col++) {
var newTable = "<input class = 'dataFromSpreadsheet' type = 'text' style = 'float:left' id = '"+ row + ':' + col+"' value = ''>";
document.write(newTable);
console.log(col + 'this is column') // this works, starting from 0 to 2
}
document.write("</div>")
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
推荐阅读
- python - 如何对多维数组进行排序,其中一列按升序排列,另一列按降序排列?
- reactjs - 使用 React 编辑/更新输入字段
- firebase - 如何在flutter中使用Firebase捕获将在通知托盘中显示的消息
- c# - 单一 ID 请求返回 .netcore MVC 中所有 ID 的数组
- algorithm - 有缺陷的棋盘问题是否有蛮力方法?
- javascript - 使用单击删除每个 li 项目待办事项列表
- haskell - Haskell中的异常处理没有解析
- amazon-web-services - 如何在不停机的情况下使用无服务器框架更新 AWS lambda?
- php - WooCommerce:如果未填写所有购物车项目自定义字段,则避免结帐
- google-bigquery - BigQuery - 在 UI 上复制表格 - 不复制所有表格