JavaScript表不会在表中呈现

时间:2016-07-29 07:58:08

标签: javascript jquery asp.net-mvc

我有这个JavaScript

min < x < max

当我运行它时,它在浏览器上完美显示,但是创建的链接不起作用,当我查看页面源时,上面的代码应该注入的tbody部分不会被渲染。

这是我得到的,点击任何绿色按钮 在顶部表中,它加载第二个表。问题出在第二个表格中。

注意:我使用的是JQuery Datatables。

enter image description here

这是页面源

的渲染输出
function pickdet(Id) {
        //alert(Id);
        var dd = Id;

        $.ajax({
            cache: false,
            url: "/PVSigns1/GetDetails",
            data: { 'Id' : Id },
            type: "GET",
            dataType: "json",
            success: function (data) {
                //alert('i dey here')
                var row = "";
                var baseurl = '@Url.Action("Edit","PVSigns1")' + '?Id=';
                $.each(data, function (index, item) {
                    var clickUrl = baseurl + item.PVSignId;

                    //row += "<tr><td>" + item.VitalSigns.Sign + "</td><td>" + item.SignValue + "</td><td> <input type= 'button'  onclick= location.href = + '<Url.Action("Create", "PVSigns1", new { Id = item.PVSignId }) ' />" + "</td></tr>";
                    row += "<tr><td>" + item.VitalSigns.Sign + "</td><td>" + item.SignValue +
                        "</td><td> <button class='editbtn btn btn-xs btn-success' data-url = '" + clickUrl + "'> <i class='fa fa-edit fa-lg'></i> Edit</button></td></tr>";
                });
                $("#pvv").html(row);
            },
            error: function (result) {
                $("#pvv").html('Nothing to show <br /> <p />' + result);
            }
        });
    }

    $(function () {

        $("button.editbtn").click(function (e) {
            alert("url");
            e.preventDefault();
            //e.defaultPrevented();
            window.location.href = $(this).attr("url");
        });

    });

注意<div> <h3> Details</h3> <table id="Pv" class="table table-condensed"> <thead> <tr> <th>Sign</th> <th> Value </th> <th></th> </tr> </thead> <tbody id="pvv"> </tbody> </table> 为空,而不是表格元素。有什么问题?

1 个答案:

答案 0 :(得分:0)

您需要为点击事件使用dom元素的委托。现有dom之后绑定事件后生成的元素

$("#Pv").on('click','button.editbtn', function (e) {
            alert("url");
            e.preventDefault();
            //e.defaultPrevented();
            window.location.href = $(this).attr("url");
});