我正在慢慢地学习jQuery,所以请原谅我的无知。我做了很多谷歌搜索,导致下面的弗兰肯斯坦例子。
在此示例中,如果用户在input
中输入“Kasey”,我希望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>
答案 0 :(得分:8)
您可以使用 keyup()
处理程序来监听keyup
事件。在里面使用this.value
来获取值
$(document).ready(function() {
$("#fname").keyup(function() {
if (this.value == "Kasey") {
$("#pete").css("display", "block");
}
else {
$("#pete").css("display", "none");
}
});
});
更新:
您可以按如下方式简化代码
$(document).ready(function () {
$("#fname").keyup(function () {
$("#pete").css("display", this.value == "Kasey" ? "block" : "none");
});
});
答案 1 :(得分:3)
对您的代码进行此更改
val()
以获取元素的值==
运算符
注意:如果你想在表格加载代码上执行此操作,如下所示,或添加keyup()
事件
<script>
$(document).ready(function(){
var val = $("#fname").val();
if (val == 'Kasey') {
$("#pete").css("display", "block");
}
});
</script>
答案 2 :(得分:1)
问题是你的函数在加载文档时读取fname的值,而不是在用户输入之后读取。此外,在分配值
时,您将长度分配给valvar val = $("#fname").val();
最后,你的if语句需要等于运算符is ==
if (val == 'Kasey')