可能重复:
How to get the text of the selected option of a select using jquery?
我有以下脚本:
<select id = "people">
<option value = "0">Choose</option>
<option value = "1">John</option>
<option value = "2">David</option>
</select>
如何使用jQuery检测当前所选选项的值?
即。 (伪代码)
if(people.option.text == "Choose"){
//Alert - Please make a selection
}else{
//Valid - do something
}
编辑:代码无效
echo("<script>");
echo("$(document).ready(function(){");
echo("$(\"#go\").click(function(e){");
echo("var selText = $(\"#people option:selected\").text();");
echo("if(selText == \"Choose\"){");
echo("}else{");
echo("window.location.href = \"viewprofile.php\";");
echo("}");
echo("});");
echo("});");
echo("</script>");
它会不断触发else语句并导航......
编辑:搞定了 - &gt;改变了.text()和val()
答案 0 :(得分:1)
从您的示例看,您希望获得所选的文字,而不是值。
所以有这个:
var selText = $("#people option:selected").text();
if(selText == "Choose") {
//Alert - Please make a selection
} else {
//Valid - do something
}
要获取所选值并进行检查,请输入以下代码:
var selValue = parseInt($("#people").val(), 10);
if (selValue == 0) {
//Alert - Please make a selection
} else {
//Valid - do something
}
答案 1 :(得分:0)
if ($('#people [value!=0]:selected').length > 0){
//selected
} else {
//not selected
}
答案 2 :(得分:0)
这个怎么样:
$("select option:selected").each(function () {
if($(this).text()=="Choose") ...
else ...
});
答案 3 :(得分:0)
if (jQuery('#people option:selected').val()=="Choose"){
}
else{
}
答案 4 :(得分:0)
检查使用val选择的值,然后执行相应的操作。在下面的表单提交处理程序中显示,以防止表单提交。您可能还需要考虑对此特定情况使用validate插件,使该字段成为必需字段,并使默认选项没有值。
$(function() {
$('form').submit( function() {
var selectedPerson = $('#people').val();
if (!selectedPerson || selectedPerson == '0') {
alert('you must choose an option for people');
return false;
}
// continue form validation and submission
});
});
答案 5 :(得分:0)
要获取所选value
的{{1}},请使用:
<option>
要获取所选$('select').val()
的HTML内容,请使用:
<option>
要检查是否选择了某个$'select :selected').html()
,请使用:
<option>