javascript - 如何检查单元格是否在 Javascript 循环中具有选择元素?
问题描述
我有一个通过 JSaddRow
函数生成的动态创建的表。我想遍历这个表并检查单元格中是否有选择元素。如果是这样,那么我想将所选选项的值推送到名为ingredient_dict
.
这是我到目前为止所拥有的:
var table = document.getElementById('selected_ingredients');
var rowCount = table.rows.length;
//table width by counting headers minus the last cell which has a delete button
var cellsCount = table.rows[0].cells.length -1 ;
//loop through all rows (r) in table
for (var r = 1; r < rowCount; r++) {
//initiate dictionary for this ingredient
var ingredient_dict = {};
//loop through each cell (c) in row
for (var c = 0; c < cellsCount; c++) {
var $cell = table.rows[r].cells[c];
if (**CHECK IF CELL HAS A SELECT ELEMENT**) {
$ingredient_dict["UOM"] = $cell.options[$cell.selectedIndex].value
} else if (**CHECK IF CELL HAS INPUT ELEMENT**) {
$ingredient_dict["qty"] = $cell.value
} else {
$ingredient_dict["name"] = $cell.value
}
}
}
我不确定这是否重要,但这是我的addRow
函数中动态创建选择元素的代码:
// ingredient unit of measurement drop down
var cell3= row.insertCell(2);
var unit_of_measure = document.createElement("select");
unit_of_measure.name = "unit_of_measure_select";
cell3.appendChild(unit_of_measure);
我对 javascript 很陌生,所以如果我的代码混乱或者这是一个明显的问题,我深表歉意!
解决方案
var doesCellHaveElement = (cell,element) => {
return cell.innerHTML.toLowercase().indexOf(`<${element}`) >= 0;
};
元素将是一些小写的标签名称。例如:
doesCellHaveElement(cell, "select");
doesCellHaveElement(cell, "input");
推荐阅读
- python - 在 Django 模型的模板中显示键/值对
- ckan - CKAN 预览不起作用,但下载的 CSV 可以
- swift - swift中的自动登录功能
- javascript - 简单的 console.log 在 ASP 文件中不起作用
- javascript - 在选定项目按下后释放指针时执行代码
- flutter - Flutter Location 包 requestService() 永远不会返回
- python - 玩家 2 与金钱碰撞时游戏崩溃。错误消息:unboundLocalError:分配前引用了局部变量'score2'
- django - 我的 django 服务器的 import_export 模块在导入时不起作用
- d3.js - 如何停止 d3.histogram() 修剪前导和尾随空箱
- sql - Hive 查找表填充空值