我填写了一个表,实际上是一个jquery数据表。我通过循环将其附加到 td 创建了一个按钮。该按钮成功调用 showmsg()函数,但无法从其所在行的特定 td 中获取值。
它说未定义。
代码:
填充表并在其中创建EDIT按钮的功能。
Missed
由btnEdit调用以获取td #tdService文本的函数
Missed <= Total
答案 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
不确定该方法中的最后两行应该做什么