2011-12-07 86 views
-1

我已經嘗試了所有平臺上的工作。我究竟做錯了什麼?輸入文字時顯示DIV

JS--

$(document).ready(function(){ 
    $('#gname').keypress(function() { 
     if ($(this).val() == "Toys") 
      $('#number').slideDown('fast') 
     else 
      $('#number').hide(); 
    }); 
}); 

CSS--

#number { display: none; height: 100px; border: solid 1px #ddd; } 

HTML--

Type here:<input type="text" id="gname"> 
<div id="number"> 
    Test 
</div> 

回答

2

如果您綁定到keyup事件,而不是keypress價值將已經被時間改變的事件處理程序運行:http://jsfiddle.net/azHQz/

$(function(){ 
    $('#gname').on('keyup', function(event) { 
     //if (event.keyCode == 13) {//un-comment this to only check the value when the enter key is pressed 
      if ($(this).val() == "Toys") 
       $('#number').slideDown('fast') 
      else 
       $('#number').hide(); 
     //}//un-comment this to only check the value when the enter key is pressed 
    }); 
}); 

的演示只檢查值當按下回車鍵時:http://jsfiddle.net/azHQz/1/

+0

如果我想它只是爲了以後上輸入事件彈出不管他們輸入的內容?那可能嗎?我很幸運,我發現這個網站。感謝你們的快速回復,我們的傢伙和女孩們。非常感謝。 – user1086253

+0

@ user1086253您可以檢查'event'對象來查看'keyCode'屬性是否設置爲'13'(這是輸入鍵):http://jsfiddle.net/azHQz/1/ – Jasper

+0

事件對象在腳本中? – user1086253

2

你的腳本引用jQuery的功能,但不包括jQuery庫。請將jQuery包含到您的文檔中以激活此功能。

將在文檔的頭部下面首先使用$前:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
2

包括JQuery的:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 

CSS:

#number { 
    display:none; 
} 

JQuery的:

$('#gname').bind('keyup change',function(){ 
    if(this.value.length > 0){ 
     $('#number').show(); 
    } 
    else { 
     $('#number').hide(); 
    } 
}); 

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

0

首先,您需要包含jQuery(很確定您知道這一點,只是將它留在演示之外,但您需要它。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script> 

然後,你應該檢查keyup事件。

$(document).ready(function(){ 
    $('#gname').keyup(function() { 
     if ($(this).val() == "Toys") 
     $('#number').slideDown('fast') 
     else 
     $('#number').hide(); 
    }); 

});

0

而你的來源實際上並沒有顯示div。 div開始不可見,並且js將它滑開或隱藏它,但不會使其可見。不管誰編輯原始問題,我都很害怕。現在有很多失蹤。

編輯:啊,我看現在已經糾正了。

0

實際上它工作的很完美,因爲您已將display none指定給您的div ID,所以它在幕後無法看到。取出display none屬性,它應該工作

DEMO