mvc视图使用javascript在表中查找匹配行

mvc视图使用javascript在表中查找匹配行,javascript,jquery,ajax,asp.net-mvc,Javascript,Jquery,Ajax,Asp.net Mvc,您好,我正在使用ajax调用更新我的行现在我想用更新的数据更新我的行,而不刷新页面,因为现在我正在匹配DisplayName,但我想将它与ID匹配,因为ID是唯一的,并且我的ID包含在表内的隐藏字段中。如何匹配它 ajax调用和javascript <script type="text/javascript"> function SuspendSharing(selectedContact) { var url="@Url.Action("SuspendedShari

您好,我正在使用ajax调用更新我的行现在我想用更新的数据更新我的行,而不刷新页面,因为现在我正在匹配DisplayName,但我想将它与ID匹配,因为ID是唯一的,并且我的ID包含在表内的隐藏字段中。如何匹配它

ajax调用和javascript

 <script type="text/javascript">
   function SuspendSharing(selectedContact)
{
    var url="@Url.Action("SuspendedSharing", "Sharing")";
    var data= { Id: selectedContact };
    var type="GET";
    CallGet(url, data, type, function (data) { onSuccess(data, selectedContact); });
}
function onSuccess(data, selectedContact) {
    data = JSON.parse(data);
    $("#message_toast").hide();
    var path="@Url.Content("~/Content/MessasgeTemplate.html")";
    $("#message_toast").load(path);
    $("#SuccessMessage").text();
    $("#message_toast").fadeIn("slow", function () { $(this).fadeOut(3000, function () { $(this).children().remove(); }); });
    var contactSelector = "td:contains('"+selectedContact+"')";
    $contactRow = $(contactSelector).closest("tr");
    $contactRow.find("td:nth-child(5)").text("test");
}
function CallGet(url, data, type, onSuccess)
{
    $.ajax({

        type: type,
        url: url,
        data: data,
        dataType: "json",
        success: function (resultdata) {
            onSuccess(resultdata);
        }
    });
}
</script>

假设您有以下html

<tr class='item'>
 <td class='itemId'>@item.ID</td>
 <input type="hidden" value="@item.ID" class='hiddenid'/>
 //other  html
</tr>

@item.ID
//其他html
如果您试图通过单击该行来检索该行的id,请使用以下命令:

$('tr').on('click', function() {
    var id = $(this).find('.hiddenid').val();
    var parent = null;
    $('.itemId').each(function() {
     if ($(this).text() == id) {
      parent = $(this).parent(); // this is the matching <tr>
     }
    });
}
$('tr')。在('click',function()上{
var id=$(this.find('.hiddenid').val();
var parent=null;
$('.itemId')。每个(函数(){
if($(this).text()==id){
parent=$(this).parent();//这是匹配的
}
});
}
但是我不明白为什么你有一个隐藏的输入和一个id为的td?你可以从这两个中的一个中检索它,不需要两次


我想你需要重写你的问题,你不需要得到隐藏的输入值,然后用它来得到td

如果我的itemId在不同的列中,它的值是可以访问的,但我想从这里得到值-@item.Prefix@item.DisplayName@rupinder18给你的输入一个类
它不能得到blank值我已尝试将item类分别添加到tr和td,隐藏字段的itemId类仍然不起作用。抱歉,您必须使用
.val()
而不是
.text()
是,它现在提供ID值,但它没有返回td,因此无法获取行并更新我的状态值
<tr class='item'>
 <td class='itemId'>@item.ID</td>
 <input type="hidden" value="@item.ID" class='hiddenid'/>
 //other  html
</tr>
$('tr').on('click', function() {
    var id = $(this).find('.hiddenid').val();
    var parent = null;
    $('.itemId').each(function() {
     if ($(this).text() == id) {
      parent = $(this).parent(); // this is the matching <tr>
     }
    });
}