我试图在点击按钮时从动态创建的表中获取TD值 这是我的表:
<tbody>
@foreach (var item in Model)
{
<tr>
<td id="Quantity">
@Html.DisplayFor(modelItem => item.Quantity)
</td>
<td>
<button type="button" class="btn btn-sm btn-info btnupdate" onclick="Update(@item.Id);">
Update
</button>
</td>
</tr>
}</tbody>
这是我的jquery:
function update(id) {
var Id = id;
var quantity = $(Quantity).html().trim();//get only first td value for every tr
var quantity = $(Quantity).text().trim();//get every td value
var quantity = $(this).closest("tr").find("#Quantity").text().trim(); //undefined
var quantity = $('#Quantity').attr("value") //undefined
}
我无法弄清楚这个问题。任何形式的帮助将不胜感激。
答案 0 :(得分:1)
每个id
的{{1}}应该是唯一的,只需附加td
即可实现: -
item.Id
然后你可以像现在一样访问它,
<td id="@("quantity" + item.Id)">
答案 1 :(得分:0)
您可以直接传递item.Quantity
,可以作为参数接受。
<button onclick="Update(@item.Id,@item.Quantity);">.....</button>
但是,我建议您使用.on(eventType, handler)
方法使用不显眼的事件处理程序。将@item.Id
分配给可以使用data-*
获取的自定义.data(key)
属性。
然后可以使用各种DOM遍历方法
<tr>
<td class="Quantity">
@Html.DisplayFor(modelItem => item.Quantity)
</td>
<td>
<button type="button" class="btn btn-sm btn-info btnupdate" data-id="@item.Id" >
Update
</button>
</td>
</tr>
脚本
$('.btnupdate').on('click', function(){
var id = $(this).data('id');
var qty = $(this).closest('tr').find('Quantity').text();
});