2014-03-01 48 views
2

我正在慢慢地学习jQuery,所以请原谅我的无知。我做了很多Google搜索,结果在下面的Frankenstein例子中。如果输入值等于特定文本,则显示div

在这个例子中,如果用户输入“Kasey”到input,我想div#pete有display:block

提前致谢!

<!DOCTYPE html> 
<html> 
<head> 

<script> 
$(document).ready(function(){ 
var val = $("#fname").length; 
if (val = Kasey) { 
     $("#pete").css("display", "block"); 
    } 
</script> 
</head> 
<body> 

<p>Name: <input type="text" id="fname"></p> 
<p id="pete" style="display:none;" >Pete</p> 

</body> 
</html> 

回答

7

您可以使用keyup()处理程序以侦听keyup事件。内部使用this.value来获取值

$(document).ready(function() { 
    $("#fname").keyup(function() { 
     if (this.value == "Kasey") { 
      $("#pete").css("display", "block"); 
     } 
     else { 
      $("#pete").css("display", "none"); 
     } 
    }); 
}); 

FIDDLE

UPADATE:

您可以简化代码如下

$(document).ready(function() { 
    $("#fname").keyup(function() { 
     $("#pete").css("display", this.value == "Kasey" ? "block" : "none"); 
    }); 
}); 
2

做这个改变对你的代码

  • 添加val()用于获取元素
  • 使用==运营状况
  • 比较字符串,你应该添加引号像“凯西”

注的价值:如果u要做到这一点的形式加载代码如下喜欢或添加keyup()事件

<script> 
$(document).ready(function(){ 
var val = $("#fname").val(); 
if (val == 'Kasey') { 
     $("#pete").css("display", "block"); 
    } 
}); 
</script> 
1

的问题是,你的˚F当文档加载时,unction正在读取fname的值,而不是在用户输入之后。此外,要指定长度为val时,你应该

var val = $("#fname").val(); 

最后分配值的if语句需要等于运营商,是==

if (val == 'Kasey') 
相关问题