使用jQuery检测HTML选项值

时间:2011-08-17 12:20:57

标签: javascript jquery select

  

可能重复:
  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()

6 个答案:

答案 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>