在django对templates进行渲染时,利用for循环迭代出的列表如

{% for user in users %}
  <tr>     <td>{{user.name}}</td>
    <td>{{user.age}}</td>
    <button type = "button" value="{{user.id}}" onclick="delete()"><button/>
  </tr> {% endfor %}

  此时若想通过点击某行数据后的按钮进行删除,但是发现定义了delete()方法后,每个按钮都具有一样的name,id,以及class。根本无法获得当前的value,此时利用js中的自定义属性。id,class,name都为js中的内置属性,利用

<button type = "button" value="{{user.id}}" onclick="delete()" userid="{{user.id}}"><button/>
var id = $(this).attr("id");

在delete()方法中就可利用attr(‘id’)方法取得该button中内置属性userid的值,此时就可以完成对应操作;

常见两种方法:

1.在删除某列时,设置一个<input type = "hidden" id = "hiddenuserid" >,通过第一次点击按钮让当前按钮的自定义属性userid赋值给该隐藏框:

var id = $(this).attr("userid");  //id
   $("#hiddenuserid").val(id);

第二步确认删除后再通过ajax与jquery取到该值后进行发送var id = $("#hiddenuserid").val()

2.如上所示,在迭代的button中设置自定义属性,使其保存需要的数据,在通过取得自定义属性的值进行发送。