2013-03-11 86 views
1

我有一個簡單的代碼,我試圖用我的網站清除默認值的文本框,當用戶點擊它時,默認值應該清除,這樣用戶可以輸入他/她的價值。這是我的,但我不確定它是否正確,因爲它不工作。我剛開始jQuery的用Jquery點擊清除輸入框

$(document).ready(function() 
    { 
     $('#startDateBox').click(function() 
     { 
      if(('#startDateBox')=='Beginning') 

      { 
      $('#startDateBox').val(''); 
      } 

     }) 
    });​ 
+0

你能定義什麼是「不能工作」嗎? – 2013-03-11 18:45:27

+0

那麼,'如果((''startDateBox')=='開始')'將*永遠*爲假... – Chad 2013-03-11 18:46:04

+0

當我調試它,當我點擊框中,它不會清除默認值,這是開始的詞。我覺得我在我的代碼中缺少一些東西 – 2013-03-11 18:46:51

回答

3

您錯過了第一個.val()$前面的('#startDateBox')在同一行上。 您也可以使用$(this)來引用文本框,因爲在該函數內,this引用文本框DOM元素本身。用jQuery函數$()包裝它可以讓你訪問所有框架的好東西。

$(document).ready(function() 
{ 
    $('#startDateBox').click(function(){ 
     if($(this).val() == 'Beginning') 
       ^^^^^^ Here 
     { 
      $(this).val(''); 
     } 
    }) 
});​ 
+1

和缺少該行$' – 2013-03-11 18:47:27

+0

@IswantoSan正確,謝謝 – BinaryTox1n 2013-03-11 18:48:48

3

你錯了。在這一部分:

if(('#startDateBox')=='Beginning') 

首先,你缺失$。 二,我想你想比較startDateBox的值,然後用val()

試試這個:

$(document).ready(function() 
    { 
     $('#startDateBox').click(function() 
     { 
      if($('#startDateBox').val()=='Beginning') 
      { 
      $('#startDateBox').val(''); 
      } 
     }) 
    });​ 
0

我建議對HTML5的瀏覽器使用此

<input type="text" id="Beginning" placeholder="Beginning" /> 

if($('#startDateBox').val() =='Beginning') 

這是一個需要改變

 $('#startDateBox').on("focus", function() 
     { 
      // code here 

行點擊即可不處理擊打選項卡,直到該文本框專注

+0

也缺少'$'。 – 2013-03-11 18:48:08

+0

固定,佔位符屬性處理所有爲您以及在較新的瀏覽器 – 2013-03-11 18:49:29

0

好,if(('#startDateBox')=='Beginning')總是是假的......

我認爲你的意思更多的東西一樣:

if($('#startDateBox').val() == 'Beginning') 
0

我寫了這個目的,一個非常小的jQuery插件最近:

https://gist.github.com/rmcvey/5136582

$('#input').placeholder("Placeholder Text"); 

if($('#input').val() === $('#input').placeholder()){ return false; }