为什么表中的按钮在点击时没有获得td的值?

时间:2018-04-27 09:31:41

标签: javascript jquery html html-table datatables

我填写了一个表,实际上是一个jquery数据表。我通过循环将其附加到 td 创建了一个按钮。该按钮成功调用 showmsg()函数,但无法从其所在行的特定 td 中获取值。

它说未定义

代码:

填充表并在其中创建EDIT按钮的功能。

Missed

由btnEdit调用以获取td #tdService文本的函数

Missed <= Total

1 个答案:

答案 0 :(得分:0)

由于您使用ID作为html元素,因此它们应该是唯一的。请尝试在each函数中执行以下操作:

 $("#tblServices").append($('<tr>').append($('<td>').attr('id',"tdServiceID" + i).html(val.ServiceID)).append($('<td>').html(val.ServiceName)).append($('<td>').html(val.ServicePrice)).append($('<button type="button" class="btn btn-primary btnEdit" onclick="showmsg(\'' + i + '\');">Edit</button>')));

(将Id设置为tdServiceID,附加迭代索引) 请注意,我们在showmsg函数中传递'i',现在可以变为

function showmsg(i)
{
    var serviceID = $('#tdServiceID'+i).text();
    alert(serviceID);

    $("#ServiceName").val("Tester");
    $("#ServicePrice").val("Testing");
}

似乎正在运作jsFiddle

不确定该方法中的最后两行应该做什么