Javascript 第三个下拉列表值取决于jquery的前两个下拉列表

Javascript 第三个下拉列表值取决于jquery的前两个下拉列表,javascript,jquery,wordpress,drop-down-menu,Javascript,Jquery,Wordpress,Drop Down Menu,我有以下代码,根据另一个(日期)更改一个下拉列表(模板)的值: 11 12 13 14 是 颗粒物 模板A 模板B 模板C var templateA=[“11”,“12”]//使用模板A的日期 var templateB=[“13”,“14”]//使用模板B的日期 jQuery('#date').change(function(){ if(jQuery.inArray(jQuery(this.val(),templateA)!=-1){ jQuery(“#模板”).val(“A”); }el

我有以下代码,根据另一个(日期)更改一个下拉列表(模板)的值:


11
12
13
14
是
颗粒物
模板A
模板B
模板C
var templateA=[“11”,“12”]//使用模板A的日期
var templateB=[“13”,“14”]//使用模板B的日期
jQuery('#date').change(function(){
if(jQuery.inArray(jQuery(this.val(),templateA)!=-1){
jQuery(“#模板”).val(“A”);
}else if(jQuery.inArray(jQuery(this.val(),templateB)!=-1){
jQuery(“#模板”).val(“B”);
} 
});
我试图包括第三个下拉菜单“时间”,所以模板取决于日期和时间。例如,如果日期=12,时间=pm,模板=b,但如果日期=12,时间=am,模板=a

这里有很多关于两个下拉列表的帖子,但我找不到三个

“模板”下拉列表将被隐藏,所有三个都将以wordpress联系人表单的形式传递。

请查看。其长短不一之处在于,根据日期和时间值,您可以使用一种方法来决定选择哪个模板。然后,您只有两个更改侦听器,并使用适当的日期和时间调用该方法以更改模板值

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());
});

很明显,我只是把你的案例作为一个例子。

Thank@BeRecursive,在JSFIDLE中有效,但在wordpress中无效。知道为什么吗?
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());
});