单击时如何清除文本框?

时间:2011-11-15 12:17:54

标签: c# javascript jquery asp.net

当用户点击它时,我使用这个JS来清除文本框,所以这个工作正常并清除页面中的所有文本框,我想只清除搜索文本框  搜索..  我怎么能这样做,不应该清除其他文本框,只有当我点击它时才能清除这个搜索文本框。

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

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

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

        });
    </script>

另一个问题。

我有一个带有少量文本框的面板,如何将焦点设置在特定的文本框上

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

7 个答案:

答案 0 :(得分:2)

只需通过它的ID或其他属性选择TextBox

e.g。

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

然后通过它的唯一客户端ID选择TextBox

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

答案 1 :(得分:2)

明确值 - $('#yourTextBox').val('');

设定焦点 - $('#yourTextBox').focus();

答案 2 :(得分:1)

我认为使用id值不是最佳选择,因为.net可能会更改运行时中的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>

答案 3 :(得分:0)

代替$('input[type=text]')执行$('search-box-id')

答案 4 :(得分:0)

你需要的只是为搜索框指定id,尝试检查你的元素,或者查看源代码以获得正确的id,因为id是由ASP.NET Web表单生成的,或者你可以添加像rel这样的自定义属性= “搜索框”

所以这是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(''););
});

答案 5 :(得分:0)

我会使用HTML5的defaultvalue属性回到这个jquery方法:

http://unwrongest.com/projects/defaultvalue/

答案 6 :(得分:0)

另一个选项,沿着略有不同的路线,使用JQuery文本框水印组件。 这已经创建,只是为了满足您的要求,并且当他们点击文本框时会重新填充,但后端将永远不会看到该值。除了自己动手之外的麻烦!

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