jquery - 使用 jquery 时变量不会初始化
问题描述
我对 jQuery 了解不多,但在 C#(ASP.NET) 中工作时,我不得不将它用于 ajax。问题是下面的变量不会初始化。这是代码:
var $el = $("table.table").closest('tr');
var naziv = $el.find("#naziv").text();
var proizvodjac = $el.find("#proizvodjac").text();
var cena = parseInt($el.find("#cena").text());
var sifra = parseInt($el.find("#sifra").text());
如果我对其进行硬编码(例如 var naziv = "anything"),变量会被初始化,我可以毫无问题地传输它。
这也是我试图从中提取数据的代码的一部分(它们已从数据库中显示为红色):
<tr>
<td id="naziv">
<p class="sifra">@Html.DisplayFor(modelItem => item.Sifra)</p>
<b id="naziv">@Html.DisplayFor(modelItem => item.Naziv)</b>
</td>
<td id="proizvodjac">
Proizvodjac: @Html.DisplayFor(modelItem => item.Proizvodjac)
</td>
<td id="cena">
Cena: @Html.DisplayFor(modelItem => item.jedCena)
</td>
<td><button id="poruci" class="btn btn-success" onclick="BtnClick()">Poruci</button></td>
<td>
<img src="~/Content/slike/bazaMaskica.jpg" />
</td>
</tr>
解决方案
如果有人遇到同样的问题,我会发布它:我所要做的就是找到确切的按钮并给他点击事件;
var x = document.getElementsByClassName("btn");
for (var i = 0; i < x.length; i++) {
var button = x[i];
button.addEventListener("click", function () {
let $el = $(this).closest('tr');
console.log($el.find(".sifra").text());
let naziv = $el.find(".naziv").text();
let proizvodjac = $el.find(".proizvodjac").text();
let cena = parseInt($el.find(".cena").text());
let sifra = parseInt($el.find(".sifra").text());
var obj = new Object();
obj = {
Naziv: naziv,
Proizvodjac: proizvodjac,
jedCena: cena,
Sifra: sifra
}
SubmitForm(obj);
})
}
推荐阅读
- javascript - 错误:循环依赖 - NestJS 测试
- javascript - 如何在 AWS Lambda 中解析 POST 数组数据
- css - 使用 css 排列 div 并保留布局
- css - 将页面分成两等份引导程序中的溢出问题
- scala - 无法在 Scala 工作表 VSCode 中导入第三方模块
- javascript - 如何打印接受奇数作为参数的星形图案?
- excel - 总结 VlOOKUP 和 COUNTIF 的 VBA 代码
- php - 表单将数据发送到具有相同名称的多个输入的 php
- c# - .NetCore 5、EF 5:Startwith 使用 SqlNullabilityProcessor 引发异常
- python - Python pandas 分组和消除