Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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/JQuery-从选择字段中选择的选项-最佳实践_Javascript_Jquery - Fatal编程技术网

Javascript/JQuery-从选择字段中选择的选项-最佳实践

Javascript/JQuery-从选择字段中选择的选项-最佳实践,javascript,jquery,Javascript,Jquery,在我的表格中,我有一个选择字段 <select id="setColor"> <option value="black">black</option> <option value="white">white</option> <option value="both">both</option> </sel

在我的表格中,我有一个选择字段

        <select id="setColor">
            <option value="black">black</option>
            <option value="white">white</option>
            <option value="both">both</option>
        </select>
无论何时选择了每一个选项,我都希望发生不同的事情

    <script>
        var setColor = function(){

            var selectVal = $("#setColor").val();

            if(selectVal === "black"){
                //do something when "black" is selected
            }
            else if(selectVal === "white"){
                //do something when "white" is selected
            }
            else {
                //do something when "both" is selected
            }
        };

        $(document).ready(setColor());

    </script>

这已经在中得到了回答,但问题是,每当添加更多选项(例如颜色)时,我都必须在JS中添加更多代码。所以问题是,有没有更好的方法来编写JS/Jquery,以避免我在添加选项时不得不添加更多代码。

如果您添加了一个新选项,如果您想为该选项做一些不同的事情,那么您必须添加一些东西。您可以使用option=>函数映射来简化此操作。您需要查看handler最好的选择是,当您将新选项添加到select时,您还可以像自定义回调函数一样同时定义事件处理程序的反应