gpt4 book ai didi

javascript - 循环多个select对象的多个option,并根据SQL查询结果select options

转载 作者:行者123 更新时间:2023-11-30 21:51:56 24 4
gpt4 key购买 nike

我是一个新手,一直在用 nodejs 做一个个人项目,这让我有点头疼。希望我能得到一些帮助。

情况是这样的:我有 5 个具有相同类名的 select 元素循环通过。然后我循环浏览每个选择元素的选项,这有效。我遇到问题的地方是我想从 SQL 查询中获取值(已创建连接)。如何循环遍历从 SQL 查询获得的表中的值并在每个适当的选择元素中选择多个索引?

我希望这是有道理的。

这是我整理的:

  //execute queries here
var id = document.getElementById('idtext').value

connection.query('SELECT * FROM doneon WHERE SampID LIKE ?', id, (err, rows, fields) => {
if(err){
return console.log('An error ocurred with the query', err)
}
var seleobje = document.getElementsByClassName('sele')
for (var i=0; i<seleobje.length; i++){
for (var j=0; j<seleobje.item(i).length; j++){
for (var k=0; k<rows.length; k++){
if (seleobje.item(i).options[j].value == rows[0].TestID){
seleobje.item(i).options.selectedIndex = True
}
}
}
}

我猜我可能有太多 for 循环,但我不确定还有什么方法可以做到这一点。感谢您提供的所有帮助。

最佳答案

再次阅读您的问题后,我想我有一个解决方案。

您基本上需要在一个循环中遍历您的行,然后为每个行 ID 获取所有关联的选项(具有相同的值)。

您可以使用 jQuery 轻松做到这一点:

for (var k=0; k<rows.length; k++){
var rowId = rows[k].TestID;
$("[value='"+rowId+"']").each(function(element){
this.selected = "selected";
});
}

此代码使所有<option>条目 selected匹配您的行的 ID。完整的代码是:

//execute queries here
var id = document.getElementById('idtext').value

connection.query('SELECT * FROM doneon WHERE SampID LIKE ?', id, (err, rows, fields) => {
if (err){
return console.log('An error ocurred with the query', err)
}

for (var k=0; k<rows.length; k++){
var rowId = rows[k].TestID;
$("[value='"+rowId+"']").each(function(element){
this.selected = "selected";
});
}
}

如果已经创建了一个示例 fiddle ,将此代码与一些示例数据一起使用:https://jsfiddle.net/qgadhsLh/

关于javascript - 循环多个select对象的多个option,并根据SQL查询结果select options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46866925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com