【问题标题】:Drop down selections based on Previous selection but come empty基于先前选择的下拉选择但为空
【发布时间】:2014-01-20 14:31:14
【问题描述】:

我正在举办一个活动,它在几个城市、不同的日期和不同的时间举行。我希望根据之前的选择显示选项,但在我选择之前它是空的!

我有 3 个城市“City1”“City2”“City3

City1”已开启 “7 月 22 日”和“7 月 25 日

在“7 月 22 日”有 2 个会话“2pm”和“5pm

看一下演示,没关系,但是当我在 localhost 上尝试它时,它是空的!

<select id="menu1" class="menu"></select>
<select id="menu2" class="menu"></select>

var data = {
    "New York": ["July 20", "July 21"],
    "Miami": ["July 22", "July 23"],
    "San Francisco": ["July 24", "July 25"],
}

// populate menu1
for (var i in data) {
    $('#menu1').append('<option>' + i + '</option>');
}

// populate menu2 based on menu1's value
$('#menu1').change(function() {
    var key = $(this).val();
    $('#menu2').empty();
    for (var i in data[key]) {
        $('#menu2').append('<option>' + data[key][i] + '</option>');
    }
}).trigger('change');

Fiddle

【问题讨论】:

  • 我在 localhost 上试试这个,但效果很好!
  • @AghaUmairAhmed 那么为什么它是空的!!!

标签: javascript jquery html arrays


【解决方案1】:

复制并粘贴整个代码:

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">

  <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>

<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){
var data = {
    "New York": ["July 20", "July 21"],
    "Miami": ["July 22", "July 23"],
    "San Francisco": ["July 24", "July 25"],
}

// populate menu1
for (var i in data) {
    $('#menu1').append('<option>' + i + '</option>');
}

// populate menu2 based on menu1's value
$('#menu1').change(function() {
    var key = $(this).val();
    $('#menu2').empty();
    for (var i in data[key]) {
        $('#menu2').append('<option>' + data[key][i] + '</option>');
    }
}).trigger('change');

});//]]>  

</script>
</head>
<body>
  <select id="menu1" class="menu"></select>
  <select id="menu2" class="menu"></select>
</body>
</html>

如果您的代码正常工作,则上述代码应该可以工作。

【讨论】:

  • @Joseph 那么代码的另一部分有问题。您应该发布整个代码
  • 我所有的代码都包含 2 个选择标签和那个脚本?没别的了 看看演示link
  • @Joseph 我将发布整个代码。只需将其复制并粘贴到您的页面中即可。
猜你喜欢
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-13
  • 2019-10-27
  • 1970-01-01
  • 1970-01-01
  • 2017-04-30
相关资源
最近更新 更多