我在html中有一个ID。此ID已分配给包含广告ID的Django变量。我想使用本地存储(cookie)将此广告ID添加到收藏夹列表中。现在,该ID处于循环中,并且每个广告都将使用不同的ID。问题是当用户单击特定ID图标时如何选择特定ID。
这是我的代码:
{% for item in result %}
<span id="favouriteBtn" style="color:#ccc" title="add this post to favorite list"> ☆ </span>
{% endfor %}
ID应该是这种方式:
id={{item.id}}
这是javascript函数的一部分:
$('#favouriteBtn').click(function(){
currentAddFav();
我要将ID设置为:
id={{item.id}}
,并能够选择用户单击的特定ID。我该怎么办?
currentAddFav函数如下:
function currentAddFav(){
if(localStorage.getItem('favourites')){//If there are favourites
var storage = JSON.parse(localStorage['favourites']);
if (storage.indexOf('data-item-id') == -1) {
// # not found
storage.push('data-item-id');
localStorage.setItem('favourites', JSON.stringify(storage));
} else {
// # found
console.log('item already in favorites')
}
}
else
{//No favourites in local storage, so add new
var favArray= [];
favArray.push('data-item-id');
localStorage.setItem("favourites", JSON.stringify(favArray));
console.log('New favourites list');
}
}
答案 0 :(得分:1)
您可以编辑跨度以使其具有名为“ data-item-id”的属性,该属性等于您的商品的ID,如下所示:
{% for item in result %}
<span id="favouriteBtn" onclick="currentAddFav({{ item.id }})" style="color:#ccc" title="add this post to favorite list"> ☆ </span>
{% endfor %}
“ currentAddFav”功能可以处理其余的过程(例如,从此处添加到Cookie或其他内容。
您的“ currentAddFav”功能可能如下所示:
function currentAddFav(item_id){
if (localStorage.getItem('favourites')) { // If there are favourites
var storage = JSON.parse(localStorage['favourites']);
if (storage.indexOf(item_id) == -1) {
// not found
storage.push(item_id);
localStorage.setItem('favourites', JSON.stringify(storage));
} else {
// found
console.log('item already in favorites')
}
} else { // No favourites in local storage, so add new
var favArray= [];
favArray.push(item_id);
localStorage.setItem("favourites", JSON.stringify(favArray));
console.log('New favourites list');
}
}
答案 1 :(得分:0)
您可以尝试这样:
{% for item in result %}
<span id="{{ item.id }}" style="color:#ccc" title="add this post to favorite list"> ☆ </span>
<script type="text/javascript">
var id_selected = "{{ item.id }}";
</script>
{% endfor %}
,当页面加载完成时,您可以在此var id_selected
$('#' + id_selected).click(function () {
currentAddFav();
});