Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对下拉菜单中的特定选项执行onclick验证_Javascript - Fatal编程技术网

Javascript 对下拉菜单中的特定选项执行onclick验证

Javascript 对下拉菜单中的特定选项执行onclick验证,javascript,Javascript,我有一个下拉菜单,大约有五个选项和一个按钮,可以将其作为表单提交。我想知道是否有可能在onclick中执行验证,以便对选择的任何选项进行不同的验证 例如,如果用户选择option Milk并单击按钮,onclick将使用方法A进行验证,其中,就像用户选择option Cheese并单击按钮一样,onclick将使用方法B进行验证 目前,我只能让onclick对所有选择的选项使用单个验证 谢谢您的帮助。在函数中单击“检查选择值” function methodA(){ // } funct

我有一个下拉菜单,大约有五个选项和一个按钮,可以将其作为表单提交。我想知道是否有可能在onclick中执行验证,以便对选择的任何选项进行不同的验证

例如,如果用户选择option Milk并单击按钮,onclick将使用方法A进行验证,其中,就像用户选择option Cheese并单击按钮一样,onclick将使用方法B进行验证

目前,我只能让onclick对所有选择的选项使用单个验证


谢谢您的帮助。

在函数中单击“检查选择值”

function methodA(){
    //
}
function methodB(){
    //
}

function doOnClick(){
    switch($('your-select').val()){
        case 0 :
           methodA();
        break; 

        case 1 :
           methodB();
        break; 
    }
}
HTML:

获取select选项的值,然后将其用作保存验证函数的对象的键

var Validation_Functions = {
    1: function(x){alert("1"+x);},
    2: function(x){alert("2"+x);},
    3: function(x){alert("3"+x);},
    4: function(x){alert("4"+x);},
}
$("#btn").on("click", function() {
    var val = $("#sel").val();
    Validation_Functions[val](" test");
});
您可以编写
并编写一个函数
validate()
,该函数解析输入并在有效时返回true,在无效时返回false。如果你需要进一步的帮助,你应该写下你的尝试
var validationRules = {
    'milk': function(){
        // validate
        return false;
    },
    'sugar': function(){
        // validate
        return true;
    }
}

var form = document.getElementById('formid');
var select = document.getElementById('selectid');


select.addEventListener('change', function(){
    var value = this.options[this.selectedIndex].value;
    form.valid = validationRules[value]();
});


form.addEventListener('submit', function(){
    return this.valid;
});
var Validation_Functions = {
    1: function(x){alert("1"+x);},
    2: function(x){alert("2"+x);},
    3: function(x){alert("3"+x);},
    4: function(x){alert("4"+x);},
}
$("#btn").on("click", function() {
    var val = $("#sel").val();
    Validation_Functions[val](" test");
});