Javascript 检查jquery cookie中是否存在ID
我对这个代码有问题。这是一个产品页面,如果我单击save按钮,它会将产品ID保存到jquery cookie中。在cookie中,我存储ID-s,如下面的示例:1,2,3,4 如果一个ID已经在cookie中,我不会得到那个错误,它总是再次保存它,然后ID就会在cookie中重复Javascript 检查jquery cookie中是否存在ID,javascript,jquery,cookies,Javascript,Jquery,Cookies,我对这个代码有问题。这是一个产品页面,如果我单击save按钮,它会将产品ID保存到jquery cookie中。在cookie中,我存储ID-s,如下面的示例:1,2,3,4 如果一个ID已经在cookie中,我不会得到那个错误,它总是再次保存它,然后ID就会在cookie中重复 $('#favorite_button').click(function() { var cookie_message, item_id, most_van; item_id
$('#favorite_button').click(function()
{
var cookie_message, item_id, most_van;
item_id = <?php echo $kat_id ?>;
var cookie_val = $.cookie("kedvenc_termek_cookie");
if(cookie_val){
most_van = cookie_val.split(",");
}
else{
most_van = [];
}
if($.inArray(item_id, most_van) === -1){
most_van.push(item_id);
$.removeCookie('kedvenc_termek_cookie');
$.cookie('kedvenc_termek_cookie', most_van.join(","), { expires: 7, path: "/" });
cookie_message = "ID saved okey.";
}
else {
cookie_message = "This ID already in the cookie.";
}
$('#FavoritItemModalResult').html(cookie_message);$('#FavoritItemModal').modal('show');
setTimeout(function()
{
$('#FavoritItemModal').modal('hide');
}, 3000 );
});
$('favorite#u按钮')。单击(函数()
{
var cookie_消息、项目id、most_van;
项目_id=;
var cookie_val=$.cookie(“kedvenc_termek_cookie”);
如果(cookie_val){
most_van=cookie_val.split(“,”);
}
否则{
most_van=[];
}
如果($.inArray(项目id,most车辆)=-1){
most车辆推送(项目id);
$.removeCookie(“kedvenc_termek_cookie”);
$.cookie('kedvenc_termek_cookie',most_van.join(“,”,{expires:7,path:“/”});
cookie\u message=“ID已保存,OK。”;
}
否则{
cookie\u message=“此ID已在cookie中。”;
}
$('#FavoritItemModalResult').html(cookie_消息);$('#FavoritItemModal').modal('show');
setTimeout(函数()
{
$('FavoritItemModal').modal('hide');
}, 3000 );
});
$。inArray类似于Array.prototype.indexOf,它严格比较(==)
当您执行most_van=cookie_val.split(“,”)时;,您将获得一个字符串数组。
确保你有相同的类型
如果item\u id
是一个int,那么您应该执行以下操作:
most_van = cookie_val.split(",");
most_van = most_van.map(function(id) {
return parseInt(id, 10)
})
这有什么用?(id,10)我应该在这里写什么?这将字符串数组转换为整数数组:most_van=most_van.map(函数(id){return parseInt(id,10)})
map
创建一个新数组,其中包含传递的函数返回的项,该函数逐个接收每个项作为参数parseInt(id,10)
将字符串转换为整数,10
到10对不起,我不明白这一点。我必须编写的完整代码是什么?我已在此处添加了修改后的代码:。我不能给它写评论。return parseInt(id,10);id=项目\u id?为什么是10?10是什么意思?