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