2016-02-12 44 views
0

我有这两个脚本。第一个保存模型的存储,然后在页面刷新后将该模型加载到下拉列表中,并将包含相应年份值的文本文件打开到第二个下拉列表中。会话stroage保存下拉值

第二个应该做的一切都很好。存储正在保存,但下拉列表未填充?它是不是显示在下拉菜单中的原因,因为这些选项不在html中?

还有一种更有效的方法来结合这两个。我有一组6个下拉菜单,都依赖于另一个我想要做的菜单。

<script> 
$(function() { 
    $('#vehic_sel_model').change(function() { 
     sessionStorage.setItem('model', this.value); 

    }); 

    if(sessionStorage.getItem('model')){ 
     $('#vehic_sel_model').val(sessionStorage.getItem('model')); 
     $("#vehic_sel_year").load("/v/vehicle-selection/cache/" + sessionStorage.getItem('model') + ".txt"); 
    } 
}); 
</script> 
<script> 
$(function() { 
    $('#vehic_sel_year').change(function() { 
     sessionStorage.setItem('year', this.value); 

    }); 

    if(sessionStorage.getItem('year')){ 
     $('#vehic_sel_year').val(sessionStorage.getItem('year')); 
     $("#vehic_sel_trim").load("/v/vehicle-selection/cache/" + sessionStorage.getItem('year') + ".txt"); 
    } 
}); 
</script> 
+1

您可以创建一个JsFiddle来重现此问题吗? –

+0

我不能因为第二个选项的值不在html中。在选择第一个文件后,它们将从文本文件填充 –

+1

JsFiddle提供了模仿Ajax调用的方法:http://doc.jsfiddle.net/use/echo.html。您也可以在服务器上允许jsfiddle.com来源。如果这些方法不可用,那么至少可以查看正在提取的文本文件。 –

回答

0

我已经找到了如何从文本文件中拉时做到这一点。我必须将sessionsotrage.GetItem绑定到.load:

$(function() { 
     $('#vehic_sel_model').change(function() { 
      sessionStorage.setItem('model', this.value); 

     }); 

     $('#vehic_sel_year').change(function() { 
      sessionStorage.setItem('year', this.value); 

     if(sessionStorage.getItem('model')){ 
      $('#vehic_sel_model').val(sessionStorage.getItem('model')); 
      $("#vehic_sel_year").load("/v/vehicle-selection/cache/" + sessionStorage.getItem('model') + ".txt", function(){ 
       $('#vehic_sel_year').val(sessionStorage.getItem('year')); 
     }); 
1

试试这个:

if(sessionStorage.getItem('year')){ // <-- Problem here. You've forgotten if statement bracket. 
    $('#vehic_sel_year').val(sessionStorage.getItem('year')); 
    $("#vehic_sel_trim").load("/v/vehicle-selection/cache/" + sessionStorage.getItem('year') + ".txt"); 
} 
+1

谢谢你在我的代码中指出这一点......但实际上我的网站上是这样的。我仍然有同样的问题 –