JQuery:onchange事件

时间:2013-02-22 18:08:55

标签: javascript jquery html

尝试根据选择中的用户选择显示/隐藏文本文件。我相信我的问题在于if语句。

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>

<script>
$(document).ready(function(){
  $("#drpStatus").change(function(){
    if( $(this).val() == 'Married'){
      $("#txtSpouse").show();
    else
      $("#txtSpouse").hide();
  });
});
</script>

</head>

<body>
<input type="text" id="txtSpouse" style="display:none">
<select name="drpStatus" id="drpStatus">
            <option value="Single" selected="selected">Single</option>
            <option value="Dating">Dating</option>
            <option value="Married">Married</option>
          </select>
</body>

</html>

3 个答案:

答案 0 :(得分:3)

简单的语法错误,您{之后还有一个额外的if。删除它,这是有效的。

演示:http://jsfiddle.net/yNqfM/

JS

$("#drpStatus").change(function(){
 if( $(this).val() == 'Married') /*removed the {*/
  $("#txtSpouse").show();
 else
  $("#txtSpouse").hide();
});

答案 1 :(得分:0)

您犯了语法错误。你添加了一个{在你的if语句之后,但你永远不会结束它。您可以删除它,也可以将其更改为} else {/ ** code ** /}

答案 2 :(得分:0)

尝试以下代码: 链接jsFiddle http://jsfiddle.net/kbSrR/

 $(function(){
    $("#drpStatus").change(function () {
        if ($(":selected",$(this)).text() == 'Married') 
            $("#txtSpouse").show();
            else $("#txtSpouse").hide();
        });
    });