第三个下拉值取决于jquery的前两个下拉值
Third dropdown value dependant on first two dropdowns with jquery
我有以下代码,它根据另一个(日期)更改一个下拉列表(模板)的值:
<select name="date" id="date">
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
</select>
<select name="time" id="time">
<option value="AM">AM</option>
<option value="PM">PM</option>
</select>
<select name="template" id="template">
<option value="A">Template A</option>
<option value="B">Template B</option>
<option value="C">Template C</option>
</select>
<script type="text/javascript">
var templateA = ["11","12"]; //dates that use template A
var templateB = ["13","14"]; //dates that use template B
jQuery('#date').change(function() {
if (jQuery.inArray(jQuery(this).val(), templateA) != -1) {
jQuery("#template").val("A");
} else if (jQuery.inArray(jQuery(this).val(), templateB) != -1) {
jQuery("#template").val("B");
}
});
</script>
我试图包含第三个"时间"下拉列表,因此模板取决于日期和时间。例如,如果日期=12,时间=pm,则template=b,但如果日期=13,时间=am,则template=a。
这里有很多关于两次下降的帖子,但我找不到三次。
"模板"下拉列表将被隐藏,三者都将在wordpress联系人表单中通过。
看看这个jsFiddle。总之,在给定日期和时间值的情况下,您可以使用一种方法来决定选择哪个模板。然后,您只需要两个更改侦听器,并使用适当的日期和时间调用该方法,即可更改模板值。
var templateA = ["11", "12"]; //dates that use template A
var templateB = ["13", "14"]; //dates that use template B
function calculateTemplate(date, time) {
if (jQuery.inArray(date, templateA) != -1 && time === 'AM') {
jQuery('#template').val('A');
} else if (jQuery.inArray(date, templateA) != -1 && time === 'PM') {
jQuery('#template').val('B');
} else if (jQuery.inArray(date, templateB) != -1 && time === 'AM') {
jQuery('#template').val('B');
} else if (jQuery.inArray(date, templateB) != -1 && time === 'PM') {
jQuery('#template').val('C');
}
}
jQuery('#date').change(function () {
calculateTemplate(jQuery(this).val(), jQuery('#time').val());
});
jQuery('#time').change(function () {
calculateTemplate(jQuery('#date').val(), jQuery(this).val());
});
很明显,我只是把你的案例作为一个例子。
相关文章:
- JQuery合并了keyup和focusout两个函数
- 如何使用 node.js 比较两个 json 数组
- 为复选框javascript指定两个值
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 单击时切换两个图像
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- AngularJS - $watch内部的初始化,取决于两个模型
- 将两个函数绑定到一个按钮,具体取决于按钮的按下时间长短
- CSS/Javascript/Jquery:显示/隐藏 DIV 取决于单击的两个图像之一
- (飞镖)我希望触发两个不同的onclick功能,具体取决于单击时是否选中了单选按钮.我该怎么做
- HTML 表单 - 值取决于两个不同的下拉菜单
- 一个形成两个操作,具体取决于哪个按钮
- Javascript执行函数取决于两个按钮
- 加上两个数字,然后减去数字取决于复选框
- 使用node/express/jade,如何服务两个javascript文件中的一个,取决于第一个是否存在
- Mongo:获取两个集合的数据——第二个集合取决于第一个集合
- 重定向到网页取决于选择在两个选择下拉框
- 第三个下拉值取决于jquery的前两个下拉值
- 取决于两个承诺
- 在js表单上,如何隐藏/显示单选按钮(一组3个按钮中的一个或两个)取决于在上面字段中输入的数字的值