本地存储不存储/检索值

时间:2016-06-20 10:18:15

标签: javascript php html

这是我的代码:

    <select name="category" id="category" value="category" class="form-control ddplaceholder" style="width:220px;font-size:18px;font-family:Roboto;" onchange="document.form.submit();">
    <script>
     var cat = localStorage.getItem('category');
     localStorage.setItem('category', cat);
    </script> 
        <option value="" disabled selected>Select Category</option>
    <?php
    $sth = $conn->prepare('Select name From category');
    $sth->execute();
    $data = $sth->fetchAll();   
    foreach ($data as $row ){
        if($row['name']!="")
     echo ' <option id=\"CategoryName\" nameCategoryNameVendorName\" value="' .$row['name']. '">'.$row['name'].'</option>';
    }
    ?> 
    </select>

即使在onchange="document.form.submit();"提交页面后,我希望在下拉列表中检索下拉“类别”的选定值。为什么不发生?

2 个答案:

答案 0 :(得分:1)

您需要在选择列表的onchange事件上设置本地存储值:

<select name="category" id="category" //other inline code not shown // onchange="setValue();document.form.submit();">

   <script>
    function setValue(){
      var cat=document.getElementById('category').value;
      localStorage.setItem('category', cat);
   }
    </script> 

你也可以将这个值作为一个细分传递给函数,而且我真的没有把所需的内联代码/样式量 - 如果可以的话更好地分开。

然后您可以按照以下方式获取值:

localStorage.getItem('category');

然后你可以重置选择列表的cvalue。

答案 1 :(得分:0)

首先设置localstorage中的值,然后submit form

<script>
function SetValue()
{
 var cat = document.getElementById("category").value;
 localStorage.setItem('category', cat);
 document.forms[0].submit();
}
</script>

页面loadslocalstorage获取值并在dropdown中选择值

<script>
window.onload = function GetValue()
{

 var cat = localStorage.getItem('category');      
 document.getElementById("category").value = cat;
}
</script>