根据以前的选择数据从JSON数据加载选择选项
Load select option from JSON data according to previous select data
我在这段代码中做错了什么:
<form action="">
<select class="input-xlarge required" id="inputGender" name="inputGender">
<option value="">select</option>
<option value="m">male</option>
<option value="w">female</option>
</select>
<select class="input-xlarge" id="inputWeight" name="inputWeight">
<option value="">select</option>
</select>
<input type="submit" name="action" value="Book" />
</form>
var data = [
[
{"ID":"1", "desc":"(12)"},
{"ID":"2", "desc":"(5)"},
{"ID":"6", "desc":"(15)"}
]
[
{"ID":"0", "desc":"(49)"},
{"ID":"7", "desc":"(5)"}
]
];
$("#inputGender").change((function() {
var $persons = $("#inputWeight").empty();
$.each(data[$(this).val() - 1], function() {
$persons.append("<option value=" + this.ID + ">" + this.desc + "</option>");
});
});
);
当选择值m
时,我想填充此数据:
[
{"ID":"1", "desc":"(12)"},
{"ID":"2", "desc":"(5)"},
{"ID":"6", "desc":"(15)"}
]
在选择id #inputWeight
。或者如果选择了w
,则显示以下内容:
[
{"ID":"0", "desc":"(49)"},
{"ID":"7", "desc":"(5)"}
]
但它不起作用。
有什么想法吗?
这一行是JS:中的错误
$.each(data[$(this).val() - 1], function() {
在此上下文中,$this.val()
表示inputGender
的值,可以是"m"或"w"。您一定是从其他地方粘贴了此代码,因为它采用整数值。尝试将您的数据更改为:
var data = {
m: [{"ID":"1","desc":"(12)"},{"ID":"2","desc":"(5)"},{"ID":"6","desc":"(15)"}],
w: [{"ID":"0","desc":"(49)"},{"ID":"7","desc":"(5)"}]
};
然后你可以使用$(this).val()
来获得你想要的阵列:
$("#inputGender").change(function() {
var $persons = $("#inputWeight").empty();
$.each(data[$(this).val()], function() {
$persons.append("<option value=" + this.ID + ">" + this.desc + "</option>");
});
});
看看它在这把小提琴里现场演奏。
相关文章:
- 如何在JQuery数据选择器中显示小时数
- 对话框,数据选择器获取id
- 使用数据选择器和时刻处理不同语言的日期
- JavaScript 数据选择器限制日期
- 传递要发送的数据.选择选项文本和值
- JQuery 数据选择器在格式之间转换
- 如何更改 jquery UI 数据选择器的样式 (CSS)
- 追加到数据选择器的值,然后从中删除
- angularJS填充用Json数据选择并选择所选值
- 具有角度和引导程序的数据选择器绑定
- 如何在Meteor中提交和保存引导数据选择器的值
- 为什么谷歌翻译挂起我的斑马数据选择器
- jQuery数据选择器解析日期引发无效的日期异常
- 带有数据选择器的HTML JS日期差异
- 正在Jquery UI数据选择器上设置日期格式
- D3 / C3 -动画数据选择和悬停
- 无法获取d3.js数据.选择线路时连接和键功能工作
- 我如何从ajax加载数据选择jquery
- Jquery数据选择器查找具有特定数据值的所有元素
- 为什么我不能用javascript迭代保存在html数据选择器上的这个数组?