首页 > 解决方案 > 使用 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>

标签: jqueryasp.netasp.net-mvc

解决方案


如果有人遇到同样的问题,我会发布它:我所要做的就是找到确切的按钮并给他点击事件;

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);
        })
    }

推荐阅读