javascript - 如何通过单击链接使用来自 URL 的值来设置下拉列表的值

标签 javascript html

我试图通过单击链接(指向同一页面的链接)来设置下拉列表的值,并且我要为选择设置的值位于链接中。
我尝试这样做,但因为它搞砸了,所以没成功。
这是我使用的代码:

<html>
<body>
<select id="select">
<option value="one">Pen</option>
<option value="two">Paper</option>
<option value="three">Book</option>
</select>

<a class="link1" href="page.php?cc=three">Set select value</a>

<script> 
    function $_GET(param) {
        var vars = {};
            window.location.href.replace( location.hash, '' ).replace( 
                /[?&]+([^=&]+)=?([^&]*)?/gi, // regexp
                function( m, key, value ) { // callback
                vars[key] = value !== undefined ? value : '';
                }
            );

        if ( param ) {
            return vars[param] ? vars[param] : null;    
        }
            return vars;
    }

    var cc = $_GET('cc');

    var elmnt = document.getElementsByClassName('link1'),
        selectClasse = document.getElementById('select');

            function setSelect () {
            for (var i = 0; i < elmnt.length; i++) {
                elmnt[i].onclick = function () {

                selectClasse.value = cc;
                    }
        window.history.pushState('Form', 'My form', this.getAttribute("href"));
        return false;
        };
    }
}
setSelect ();

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

任何帮助将不胜感激。

最佳答案

如果您想使用链接及其 url 参数来执行此操作;

基于答案:https://stackoverflow.com/a/979996/2956448

所以你可以这样做;

var params = {};

if (location.search) {
var parts = location.search.substring(1).split('&');

for (var i = 0; i < parts.length; i++) {
    var nv = parts[i].split('=');
    if (!nv[0]) continue;
    params[nv[0]] = nv[1] || true;
}
}

var cc = params.cc;

var element = document.getElementById('select');
element.value = cc;

关于javascript - 如何通过单击链接使用来自 URL 的值来设置下拉列表的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36132470/

相关文章:

html - 我的移动 CSS 无法正常工作

javascript - 复选框多值颜色div

html - 如何在网站主页上显示一个窗口(div),该网站将无法点击

javascript - Leaflet JS Cluster Marker取消点击事件

javascript - 应用 z-index 时悬停状态不起作用

javascript - 无法使用 Snap.svg 在文本路径上设置 startOffset 属性

javascript - 如何通过事件 ID 获取事件到 fullcalendar?

javascript - 为什么返回网站后我的模式不起作用?

javascript - 当轮播 slider 更改其 'active' 状态时,jquery 更改 <section> 的背景图像

javascript - 在 CSS/Javascript 中启用 Chrome 标志的方法?