Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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,我试图根据使用jQuery从元素中选择的值触发警报: $("#optiontype").change( function () { var option = $("#optiontype").val(); if(option.Contains("Forward")){ alert("forward selected"); } }); 每当我从元素中选择“前进”时,警报将不会触发。更改是正确的事件。问题是,在这种情况

我试图根据使用jQuery从
元素中选择的值触发警报:

$("#optiontype").change( function () {
        var option = $("#optiontype").val();
        if(option.Contains("Forward")){
            alert("forward selected");
        }
    });

每当我从
元素中选择“前进”时,警报将不会触发。

更改是正确的事件。问题是,在这种情况下,contains不正确。包含用于DOM遍历。这里您需要使用的只是一个正常的比较,如下所示:

$("#optiontype").change( function () {
    var option = $("#optiontype").val();
    if(option.toLowerCase() == "forward"){
        alert("forward");
    }
});

或者,如果字符串包含的不仅仅是“forward”,请检查indexOf:

您应该使用
选项。indexOf(“forward”)!=-1

$("#optiontype").change( function () {
        var option = $("#optiontype").val();
        if(option.toLowerCase()=="forward"){
            alert("forward selected");
        }
    });
也就是说,如果您得到的是select元素的实际值,而不是文本。请看区别:

<select id="optiontype" type="multiple">
 <option value="forward">forwardtext</option>
</select>

您是否有
.Contains
功能?默认情况下它不可用。这是有效的…但是,选择选项实际上是“前进”…为什么“前进”有效?当然“这里的任何东西都是有意义的?”
$("#optiontype").change( function () {
        var option = $("#optiontype option:selected").text();
        if(option.toLowerCase()=="forwardtext"){
            alert("forward selected");
        }
    });