jquery - 在正确的 span 中呈现由 ajax 请求获取的数据
问题描述
我正在从数据库中获取类 $row['code] 将向每个跨度插入一个唯一的类
<?php
$query = "SELECT * FROM `products`";
$result = $con->query($query);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) { ?>
<div class="col-sm-3 service">
<div class="name"><?php echo $row['service'] ?></div>
In stock<span class="stock <?php echo $row['code'] ?>"></span><br>
<div></div>
</div>
<?php }
}
?>
我想在从 ajax 请求中获得的每个跨度中插入正确的库存。下面的代码不起作用,它将股票数组中的第一个值插入到所有跨度中。另外我想知道哪种方法可以更有效地在产品表中的页面加载时从 api 插入库存,然后将其全部输出或使用下面的代码通过匹配类名来显示库存,因为库存来自不同的 api .
$.ajax({
type: 'post',
url:"stock.php",
dataType:'json',
data: {country: $("#selCountry").val()},
success: function(data, status){
data = data.map(x => JSON.parse(x));
console.log(data);
$(".stock").html(data[0].online);
var d = document.querySelectorAll('.service span');
for(i=0; i<d.length; i++) {
if($('span.stock').hasClass("srv1")) {
$(".stock").html(data[0].stock);
}
if($('span.stock').hasClass("srv41")) {
$(".stock").html(data[1].stock);
}
}
}
});
...
data[i].service_name and $row['service']
也可以匹配以从对象的数据数组中确定正确的库存值,但我很困惑如何以及在何处使用它。
解决方案
您需要以这种方式对 querySelectorAll 进行迭代循环
var d = document.querySelectorAll('.service span');
for(i = 0; i < d.length; i++) {
if(d[i].hasClass("srv1")) {
// Get your object from the iterator # d[i]
// Your Code
}
}
推荐阅读
- python - SqlAlchemy 作为烧瓶扩展 vs 单独的数据库连接类(SqlAlchemy vs Flask-SqlAlchemy)
- html - 为什么这个 CSS 在某些 Web IDE 或浏览器中会损坏?
- r - 使用 R 为列中的重复值插入 NA
- ios - 当我尝试以编程方式设置标签时没有标签
- bit-manipulation - 将一个热位向量转换为 SystemVerilog 中的整数,无需对数
- c++ - `没有匹配函数调用'islower(std::string&)'`
- php - Laravel: Undefined value in constructor
- python - Convert HMAC Hash from Python to PHP
- flutter - Firestore Multiprovider 不适用于身份验证
- python - In Python, how to map multiple item to one function/value?