本地存储将undefined返回给变量

时间:2016-03-25 10:12:23

标签: javascript jquery

<input type="radio" id="<%=(index+1)%>" class="changeprice" data-price="<%= caricature_type.price %>" value = "<%=(index+1)%>" name="studio_order[style_id]" />

点击此.changeprice,我正在将this.id写入本地存储,就像这样

var currentid = this.id;
console.log("current id is "+currentid);
localStorage.setItem("previous_style",parseInt(currentid));

And localStorage.getItem('previous_style') also returns 2,3。基于元素id。所以现在,previous_style_id在以下代码段中变得未定义。

if(localStorage.getItem('previous_style') !== null){
        var previous_style_id = localStorage.getItem('previous_style');
        $('.changeprice #'+ previous_style_id ).trigger('click');
    }else{
        $('.changeprice').first().trigger('click');
    }

我想在第一个html元素中定位class和id。这就是为什么以下这一行 $('.changeprice #'+ previous_style_id ).trigger('click');

编辑:

我选择在class和id的帮助下选择目标的原因是。

我还有其他类似的元素

<div class="choose-bottles" id="1">bottle1 </div>

所以简单地定位id就意味着,我会针对非预期的元素。

1 个答案:

答案 0 :(得分:3)

  

使用,指定多个选择器。

$('.changeprice ,#'+ previous_style_id ).trigger('click');

如果要使用类和ID选择器选择input element,那么您之间不应该有space

 $('.changeprice#'+ previous_style_id ).trigger('click');