获取从MVC中的表中单击的行的Id

时间:2018-02-12 07:07:30

标签: javascript jquery asp.net-mvc

我想在用户点击按钮时点击Id行。

我的代码如下。

   <table cellpadding="0" cellspacing="0" id="ProductGrid">
    <tr>
        <th>P Id</th>
        <th>P Name</th>
        <th>Price</th>
        <th></th>
    </tr>
    @foreach(Mvc4API.linqtosql.tblProduct prod in Model)
    {
        <tr>
            <td>@prod.Pid</td>
            <td>@prod.Pname</td>
            <td>@prod.Price</td>
            <td><button type="button" class="ids" id="btnpartial" value="showdetail" onclick="getview()"></button></td>
        </tr>
    }
</table>

我试过了: -

function getview() {
    debugger;
    var productId = $("#ProductGrid .ids").closest("tr").find("td").eq(0).html();
});

但它没有用。

4 个答案:

答案 0 :(得分:2)

重复的id属性是无效的html。删除id属性和onclick并使用

$('.ids').click(function() {
    var productId = $(this).closest("tr").find("td").eq(0).text();
});

或者,在data属性

中添加值
<button type="button" class="ids" data-id="@prod.Pid"></button>

并使用

$('.ids').click(function() {
    var productId = $(this).data('id');
});

请注意,您当前的选择器 - $("#ProductGrid .ids")会返回所有按钮元素,而不是您点击的按钮元素。

答案 1 :(得分:0)

只需更新代码。

button type="button" class="ids" id="btnpartial" value="showdetail" onclick="getview()"

button type="button" class="ids" id="btnpartial" value="showdetail" onclick="getview(this)"

它会在脚本中为您提供id。

答案 2 :(得分:0)

像这样更改按钮标签

<td><button type="button" class="ids" id="btnpartial" value="showdetail" onclick="getview(@prod.Pid)"></button></td>

和这样的JS函数

function getview(id) {
    debugger;
    var productId = id;
});

答案 3 :(得分:0)

请尝试以下代码。

查看

<td><button type="button" class="ids" id="btnpartial" value="showdetail" onclick="getview(@prod.Pid)"></button></td>

<强>脚本

function getview(x)
{
   var id = x; //Id will get here.
}