2016-06-07 85 views
0

创建使用AJAX做某些动作的按钮的模式是什么?AJAX/Django - 在HTML按钮中放置对象ID的位置?

我与Django-tables2一起工作,我不知道要使用AJAX删除此对象将放入行中。这工作,但我想知道什么是最常见的方法。 id的对象放在哪里?

所以我有一个view删除对象使用它的id。目前,我把对象的id作为按钮的值并命名为“删除按钮”。

JS文件,JQuery,点击按钮检查,这类型的按钮是(删除或确认),然后id检查并发送请求到我的网站/删除对象/后。

def delete_object(request,id): 
    # deletes the object 
    # returns JSON 

这是我目前HTML,我应该改变方式,我给AJAX提供的数据?

delete = tables.TemplateColumn('<button name="delete-button" 
id="" value={{record.id}} type="button">Delete order</button>') 

我没有把“删除键”字符串作为id因为有在表中的多个删除按钮 - 每一行都有它自己。

而我没有把{{record.id}}作为id,因为有两种类型的按钮,所以两个按钮都有相同的id

回答

1

您可以使用数据属性让您将信息存储在元素上。

<button name="delete-button" id="" data-id={{record.id}} type="button">Delete order</button> 

然后,您可以从您的点击处理程序中的数据属性中提取值。

function onClick (event) { var id = event.target.dataset.id; } 
0

你可以使用:

delete = tables.TemplateColumn('<button name="delete-button" 
id="delete-button-{{record.id}}" value={{record.id}} type="button">Delete order</button>') 

这样,每个按钮都会有它自己的ID EJ:删除按钮-1和将要记录的ID的参考。