2016-03-23 90 views
0

我想通過單擊鏈接來設置下拉列表的值,我試過這樣的事情,但它不工作:如何通過單擊鏈接的值鏈接的值設置下拉列表值與鏈接的價值

<html> 
<body> 
    <select id="select"> 
     <option value="one">one</option> 
     <option value="two">Two</option> 
     <option value="three">Three</option> 
    </select><br /> 

    <a class="link1" value="two" href="page.php?cc=two">Two</a><br /><br /> 
    <a class="link1" value="three" href="page.php?cc=three">Three</a> 

    <script> 
     function setSelect() { 

      var elmnt = document.getElementsByClassName('link1'); 

      for (i = 0; i < elmnt.length; i++) { 
        elmnt[i].onclick = function() { 
        document.getElementById('select').value = elmnt[i].getAttribute("value"); 
        window.history.pushState('Form', 'My form', this.getAttribute("href")); 
        return false; 

        };     
      } 
     } 


     setSelect(); 

    </script> 
</body> 
</html> 

我也嘗試通過單擊鏈接從下拉列表中獲取值,但沒有起作用,所以我嘗試使用鏈接值設置下拉列表。
任何幫助將不勝感激。

+0

'爲(I = 0;我 Rayon

+0

Thank you so much @Rayon Dabre,works great。 – Samwise

+0

你認爲你可以幫助我實現同樣的事情,但是有'href'的價值嗎?正如我在這[問題](http://stackoverflow.com/questions/36132470/how-to-set-a-value-for-a-dropdown-list-with-a-value-from-url-by -li-a-li) – Samwise

回答

0

問題在JavaScript代碼請加此

<script> 
    function setSelect() { 

     var elmnt = document.getElementsByClassName('link1'); 

     for (i = 0; i < elmnt.length; i++) { 
      elmnt[i].onclick = (function (i) { 
       return function() { 
        document.getElementById('select').value = elmnt[i].getAttribute("value"); 
        window.history.pushState('Form', 'My form', this.getAttribute("href")); 
        return false; 
       }; 
      })(i) 
     } 
    } 
    setSelect(); 

</script> 
+0

非常感謝@kapil。你認爲你可以幫助我實現同樣的事情,但是從'href'的價值?正如我在這[問題](http://stackoverflow.com/questions/36132470/how-to-set-a-value-for-a-dropdown-list-with-a-value-from-url-by -clicking-ON-A-LI) – Samwise