在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中設置自定義屬性,使其保存需要的數據,在通過取得自定義屬性的值進行發送。
