Jquery 如何从用户生成动态URL';选择的动态下拉列表?

Jquery 如何从用户生成动态URL';选择的动态下拉列表?,jquery,json,dynamic,drop-down-menu,dynamic-url,Jquery,Json,Dynamic,Drop Down Menu,Dynamic Url,我正在使用JSON创建一个由两个列表组成的动态下拉列表。此外,我还有第三个下拉列表,它不是动态的 当用户点击Submit按钮时,它将触发一个URL,该URL将根据三个下拉列表中的选定值动态创建 例如,当用户选择“挪威”、“奥斯陆”和“全明星”时,点击提交按钮将打开“Norway_Oslo_allstars.html” 其中两个下拉列表(第一个和第三个)在OPTION标记中具有VALUE属性,我假设可以使用它们来生成动态创建的URL,但是第二个下拉列表是从JSON文件创建的,因此条目没有VALUE

我正在使用JSON创建一个由两个列表组成的动态下拉列表。此外,我还有第三个下拉列表,它不是动态的

当用户点击Submit按钮时,它将触发一个URL,该URL将根据三个下拉列表中的选定值动态创建

例如,当用户选择“挪威”、“奥斯陆”和“全明星”时,点击提交按钮将打开“Norway_Oslo_allstars.html”

其中两个下拉列表(第一个和第三个)在OPTION标记中具有VALUE属性,我假设可以使用它们来生成动态创建的URL,但是第二个下拉列表是从JSON文件创建的,因此条目没有VALUE属性

是否还有一种方法可以根据用户的选择动态创建URL

请参见示例


以下是我的动态下拉列表和JSON代码:

<script>

$(document).ready(function(){

    $("#json-one").change(function() {

        var $dropdown = $(this);

        $.getJSON("jsondata/data.json", function(data) {

            var key = $dropdown.val();
            var vals = [];

            switch(key) {
                case 'norway':
                    vals = data.norway.split(",");
                    break;
                case 'usa':
                    vals = data.usa.split(",");
                    break;
                case 'denmark':
                    vals = data.denmark.split(",");
            }

            var $jsontwo = $("#json-two");
            $jsontwo.empty();
            $.each(vals, function(index, value) {
                $jsontwo.append("<option>" + value + "</option>");
            });

        });
    });
    $("#json-one").trigger('change');
});
</script>

首先,您可以将
VALUE
添加到第二个选项
json-two

您只需更改正在循环所有
vals
的JS代码,如下所示

$。每个(VAL、函数(索引、值){
$jsontwo.append(“+value+”);
});

其次,您不需要对脚本进行任何更改。您可以使用以下脚本生成URL

jQuery( "button[type='submit']" ).click(function(e) {
 e.preventDefault()
 var var1 = $('#json-one').val()
 var var2 = $('#json-two').val().toLowerCase().replace(/ /g,"")
 var var3 = $('#stars').val()

 var link = var1+"_"+var2+"_"+var3+".html"
 console.log(link)
});

将值连接到url需要的任何格式。至于您创建的
为什么没有
值呢。但是如何将我的
var链接
放入
action=”“
?我尝试添加
,但没有成功。为什么不改为重定向<代码>文档位置=链接完美,效果很好。非常感谢你的帮助。
{
    "norway": "Oslo,Bergen,Stavanger",
    "usa": "New York,Chicago,Dallas",
    "denmark": "Copenhagen,Aalborg,Odense"
}
jQuery( "button[type='submit']" ).click(function(e) {
 e.preventDefault()
 var var1 = $('#json-one').val()
 var var2 = $('#json-two').val().toLowerCase().replace(/ /g,"")
 var var3 = $('#stars').val()

 var link = var1+"_"+var2+"_"+var3+".html"
 console.log(link)
});