我试图根据使用jQuery从<select>
元素中选择的值来触发警报:
$("#optiontype").change( function () {
var option = $("#optiontype").val();
if(option.Contains("Forward")){
alert("forward selected");
}
});
每当我从<select>
元素中选择“前进”时,警报就不会触发。
答案 0 :(得分:9)
改变是正确的事件。问题是在这种情况下包含不正确。包含用于DOM遍历。你需要在这里使用的只是一个正常的比较,如下:
$("#optiontype").change( function () {
var option = $("#optiontype").val();
if(option.toLowerCase() == "forward"){
alert("forward");
}
});
或者如果字符串不仅包含“forward”,请查看indexOf:http://www.w3schools.com/jsref/jsref_indexof.asp
答案 1 :(得分:2)
您应该使用option.indexOf("forward") != -1
答案 2 :(得分: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>
如果您正在寻找文本,请使用:
$("#optiontype").change( function () {
var option = $("#optiontype option:selected").text();
if(option.toLowerCase()=="forwardtext"){
alert("forward selected");
}
});