使用JS查找表项 - javascript

我有这样的桌子

<table id="adminTable" style="display: inline-block">
    <tbody>
        @foreach (var person in @Model)
        {       
            <tr>
                <td style="padding: 10px;">
                    <div id="userName" style="display: inline-block">
                        <h4 name="person" id="goProfile" class="elements" style="cursor: pointer; display: inline-block">@person.DisplayName</h4>
                    </div>
                    <div id="userButton" style="display: inline-block;float: right" >
                        <a id="update" href="#" class="btn btn-info" style="margin-left: 6px;">Update User</a>
                        <a id="delete" href="#" class="btn btn-warning" style="margin-left: 6px;">Delete User</a>
                    </div>
                </td>
            </tr>   


        }
    </tbody>
</table>

看起来像这样;

使用JS查找表项 - javascript

我需要为这些人执行更新或删除操作。我需要知道何时按下updateUser | DeleteUser按钮,我必须联系USERNAME进行编辑或删除。

我的JS在这里,但是它是错误的:(

JS

 $('#adminTable')
          .find('tr')
          .click(function () {
              debugger;
              var userName = $(this).find('td').text();
              var operation = parseInt($('tr').index()) + 1;
              $.ajax({
                  url: "/Admin/deleteUser",
                  type: 'POST',
                  data: { "DisplayName": userName, "op": operation },
                  success: function (data) {
                      window.location.href = 'Profile/ProfileScreen/?name=' + data.displayName;
                  }
              });
          });

在这段代码中,我有一个操作变量。如果我能找出即时消息正在做什么,我可以与ajax建立联系,但我无法达到。

非常感谢。现在我可以睡觉了...

参考方案

开始之前,请确保没有将重复的ID值分配给多个元素。您当前的代码正在为循环内的元素设置相同的id值。那是无效的HTML!

您可以将要传递的信息保留在这些按钮上的html 5数据属性中。

<a href="#" class="user-action btn btn-info"  
        data-url="@Url.Action("deleteUser","admin")" 
        data-username="@person.DisplayName" 
        data-op="update" >Update User</a>

<a href="#" class="user-action btn btn-warning" 
        data-url="@Url.Action("deleteUser","admin")" 
        data-username="@person.DisplayName" 
        data-op="delete">Delete User</a>

现在,您要做的就是读取此数据属性值并根据需要使用。

$(function(){

   $(".user-action").click(function(e){
       e.preventDefault();
       var d= { DisplayName : $(this).data("username"),
                Operation : $(this).data("op")
              };
       var yourUrl= $(this).data("url");
       // now make the ajax call

      $.ajax({
              url: yourUrl,
              type: 'POST',
              data: d,
              success: function (data) {

               // do something with the response data.
              }
          });  
   });

});

使用C#执行JavaScript页面 - javascript

我正在尝试使用C#抓取一个网站。在此过程中的某个时候,网站返回了我需要执行的JavaScript页面,以便它将生成一些参数,然后使用所生成的参数作为查询变量来发布请求。这是JavaScript文件https://jsfiddle.net/7aw5vr59/浏览器生成的结果文件如下所示:<imimxxxyyy id="ActiveX"…

如何在JavaScript中将多个h1元素替换为h1,h2,h3,h4,h5,h6? - javascript

@foreach (var item in Model) { <div class="panel-heading"> <h1> <a href="#">@item.Title</a> </h1> </div> } 结果; (每页发布数:6)<…

在提交时在表单操作中获取变量丢失 - javascript

            当表单由onchange事件提交时,它不会保留get变量view。任何想法为什么会发生这种情况?提交后,这是它进入的网址,index?month=February&year=2014<form action="index?view=list" class="pure-form pure-fo…

将值设置为无法与jQuery一起使用的隐藏字段 - javascript

我有一个使用Visual Studio 2013创建的应用程序,但是在使用jQuery向隐藏字段分配值时遇到了一些问题。首先,我要为隐藏变量分配一个值,因为我无法直接访问.cs文件中标签的文本值,因此我必须将标签的值分配给隐藏的输入字段才能访问在.cs文件中。我希望这是有道理的。这是我在.aspx文件中的隐藏输入字段: <input type=…

选择后显示输入元素 - javascript

我有一个表格,其中取决于用户的选择,输入元素是否可见。实际上,用户正在以另一种形式设置已定义的合作伙伴类型,并且如果选中该元素,则允许在该类型的合作伙伴上可见的元素类型1将显示以下元素:<input type="text" id="partner" name="partner" class=&…