2011-11-15 150 views
2

我使用這個JS來清除文本框,當用戶點擊它,所以這工作正常,並清除頁面中的所有文本框,我只想清除搜索文本框 搜索.. 我該怎麼做,其他文本框不應該被清除,只有當我點擊它時應該清除這個搜索文本框。如何清除點擊文本框?

<script type="text/javascript"> 
     $(function() { 

      $('input[type=text]').focus(function() { 

       $(this).val('') 
      }); 

     }); 
    </script> 

還有一個問題。

我有幾個文本框面板,如何設置集中在一個特定的文本框

<asp:TextBox ID="txt_Name" runat="server" /> 

回答

1

我認爲它不會因爲.net使用id值最好的辦法可能會在運行時

改變 id
eg MainContent_txt_Name 

你可以這樣做

<asp:TextBox ID="txt_Name" CssClass="myText" runat="server" /> 

<script type="text/javascript"> 
     $(document).ready(function() {  
      $('.myText').click(function() { 
       $(this).val('') 
      });  
     }); 
</script> 
+0

如果你的JavaScript是在同一頁上,然後沒有一個外部文件中,有使用沒有危害'ClientID'在$('#<%=(txt_name.ClientID)%>')。click(.....);'這使用唯一的客戶端ID,所以不重要。網絡改變它 –

+0

,但使用一個類將更有用,如果需要將相同的東西應用於多個文本框 –

+0

的確,但問題與僅清除搜索文本框 –

0

,而不是$('input[type=text]')$('search-box-id')

+0

缺少'$(「#搜索框ID」)'的'#';) –

2

只需選擇TextBox通過它的ID或其他屬性

eg

<asp:TextBox id="txt_Search" runat="server" /> 

然後通過它唯一的客戶端ID選擇TextBox

$('#<%=(txt_Search.ClientID)%>').focus(function() { $(this).val(''); }); 
2

對於明確的價值 - $('#yourTextBox').val('');

對於集焦點 - $('#yourTextBox').focus();

0

所有你需要的是搜索框指定ID,請檢查你的元素,或查看源代碼,以獲得正確的id,因爲id是由ASP.NET web表單生成的,或者您可以添加自定義屬性,如rel =「search-box」

所以這是javascript

$(document).ready(function() { 
    //for id 
    $('#id_of_text_box').focus(function() { $(this).val('');); 
    //for rel attribute 
    $('input[rel="search-box"]').focus(function() {$(this).val('');); 
}); 
0

另一種選擇,沿着稍微不同的路線使用JQuery文本框水印組件。 這已經被創建,可以完成你正在詢問的內容,並在它們從文本框中單擊時重新填充,但後端永遠不會看到該值。節省你做你自己的麻煩!

http://code.google.com/p/jquery-watermark/

相關問題