我有一个表单,我想根据文本字段中输入的文本显示div。我正在使用的脚本在我最新版本的chrome上运行得很好,但它不适用于IE或我的任何成员浏览器。他们说的是脚本错了吗?
<script>
$('document').ready(function(){
$('#gname').change(function() {
($(this).val() == "NBA 2k10") ?
$('#number').slideDown('fast') : $('#number').hide();
})
});
</script>
答案 0 :(得分:2)
$("document")
在其他浏览器中不是有效的选择器,您需要$(document)
,如下所示:
$(document).ready(function(){
$('#gname').keyup(function() { //probably want keyup instead of change here
if ($(this).val() == "NBA 2k10")
$('#number').slideDown('fast')
else
$('#number').hide();
});
});
$(document).ready(function(){
也可以是$(function(){
。 $("document")
不起作用,因为它正在查找不存在的<document>
元素。
if
/ else
更改只是为了让它整体更清晰一点,这有点偏好,但一般来说,你的条件语句不应该有副作用,这不是他们的意图。你可以以这种方式使用它们,但最好是明确的,至少在我看来。
答案 1 :(得分:0)
只有在输入失去焦点后才可能在IE中触发。如果要在输入焦点丢失之前检测文本更改(跨浏览器),请尝试键盘或按键。
$(document).ready(function(){
$('#gname').keypress(function() {
if ($(this).val() == "NBA 2k10")
$('#number').slideDown('fast')
else
$('#number').hide();
});
});