动态JQuery下拉列表没有'不起作用
Dynamic JQuery Dropdown doesn't work
我正在尝试创建两个动态下拉列表。第二个下拉列表应该根据我在第一个下拉列表中选择的内容来更改其选项。我已经在这里找到了一个在JSFiddle上工作的好例子。
此处:http://jsfiddle.net/tony089/8hbcP/51/
HTML:
<select id="us_state"></select>
<select id="city_name"></select>
JQUERY:
?>
<script type="text/javascript">
$(document).ready(function() {
var data = {
"State 1": ["City 1", "City 2"],
"State 2": ["City 3", "City 4"],
"State 3": ["City 5", "City 6", "City 7"]
};
var $states = $("#us_state").on("change", function() {
var cities = $.map(data[this.value], function(city) {
return $("<option />").text(city);
});
$("#city_name").empty().append(cities);
});
for (var state in data) {
$("<option />").text(state).appendTo($states);
}
$states.change();
$('#us_state').multiselect('refresh');
$('#city_name').multiselect('refresh');
});
</script>
<?
当我按照上面的方式处理代码并尝试在HTML中运行它时,第一个下拉列表会像预期的那样填充,第二个下拉列表也会填充,但当我点击第一个下拉菜单上的第二个选项时(这应该会导致第二个下降列表更改其值/选项),第二下拉列表不使用正确的值更新并且保持第一选项的值。
我的HTML是这样的:
$row1 = "
<tr>
<td colspan='1' align = 'left';>
Google Search:<br>
<select name='filters[]' id='filters' style='width:180px;' size='6'>
" . $filter_dropdown . "
</select>
</td>
<td colspan='1' align = 'left';>
Choose State:<br>
<select id='us_state'>
</select>
<br/>
</td>
<td colspan='1' align = 'left';>
Choose City:<br>
<select id='city_name'></select>
</td>
<td colspan='1' align = 'left';>
</td>
</tr>";
有人能指出我在哪里犯了错误吗?谢谢
你有你使用的jQuery吗?或者你用过这个例子吗?你能向我们显示一个不起作用的页面链接吗?:)
编辑:
这对我有效(你的HTML):
<html>
<head>
</head>
<body>
<table>
<tr>
<td colspan='1' align = 'left';>
Google Search:<br>
<select name='filters[]' id='filters' style='width:180px;' size='6'>
</select>
</td>
<td colspan='1' align = 'left';>
Choose State:<br>
<select id='us_state'>
</select>
<br/>
</td>
<td colspan='1' align = 'left';>
Choose City:<br>
<select id='city_name'></select>
</td>
<td colspan='1' align = 'left';>
</td>
</tr>
</table>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
var data = {
"State 1": ["City 1", "City 2"],
"State 2": ["City 3", "City 4"],
"State 3": ["City 5", "City 6", "City 7"]
};
var $states = $("#us_state").on("change", function() {
var cities = $.map(data[this.value], function(city) {
return $("<option />").text(city);
});
$("#city_name").empty().append(cities);
});
for (var state in data) {
$("<option />").text(state).appendTo($states);
}
$states.change();
$('#us_state').multiselect('refresh');
$('#city_name').multiselect('refresh');
});
</script>
</html>
相关文章:
- ng-view 中的脚本在从文件引用时不起作用(JQuery 在角度之前加载)
- 转换效果不起作用jquery
- 淡入淡出和AppendTo不起作用-jQuery
- 变量计算不起作用(jquery/javascript)
- 更改事件不起作用 jQuery 自动完成
- 倒计时不起作用 jquery
- ajax 响应包括 image,onClick 事件对图像不起作用 jQuery
- 从JavaScript添加html,但不起作用jQuery切换功能
- 简单的工具提示插件 - 点击选项不起作用 - jQuery
- 图像滑块不起作用(jquery)- Rails 3项目
- 触发单击事件不起作用 jquery
- 动态创建的 li 点击事件不起作用 jQuery
- Jquery验证不起作用.Jquery-Javascript
- JavaScript生成的元素不起作用-jQuery
- 事件委派不起作用jquery
- 类选择器在追加后不起作用 (JQuery)
- 为什么这个变量不起作用?Jquery
- 首先,渐变有时似乎不起作用(jquery)
- 有什么原因吗('img')加载不起作用(jQuery)
- 更改不起作用jQuery