簡體   English   中英

用jQuery清除輸入框

[英]Clear input box on click with Jquery

我有一個簡單的代碼,試圖插入到我的網站中以清除帶有默認值的文本框,當用戶單擊它時,默認值應清除掉,以便用戶可以輸入他/她的值。 這是我所擁有的,但是由於其不起作用,因此我不確定其是否正確。 我剛開始使用JQuery

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

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

         })
   });​ 

您在這部分上是錯誤的:

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

首先,您缺少$ 其次,我認為您想比較startDateBox值,然后使用val()

嘗試這個:

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

您錯過了第一個.val()和同一行中('#startDateBox')前面的$ 您也可以使用$(this)引用文本框,因為在該函數中, this引用文本框DOM元素本身。 用jQuery函數$()包裝它可以使您訪問所有框架的功能。

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

我建議HTML5瀏覽器使用此功能

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

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

這是需要更改的行

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

在該文本框處於焦點狀態之前,單擊不會處理點擊選項卡

好吧, if(('#startDateBox')=='Beginning') 永遠是假的...

我認為您的意思更像是:

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

我最近為此目的編寫了一個非常小的jquery插件:

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

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM