1

我有一个简单的代码,我试图在我的网站中清除一个带有默认值的文本框,当用户点击它时,默认值应该被清除,以便用户可以输入他/她的值。这是我所拥有的,但我不确定它是否正确,因为它不起作用。我刚开始使用 JQuery

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

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

         })
   });​ 
4

5 回答 5

3

你在这部分错了:

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

首先,您缺少$. 其次,我想你想比较startDateBox值,然后使用val().

试试这个:

 $(document).ready(function()
  {
        $('#startDateBox').click(function()
        { 
            if($('#startDateBox').val()=='Beginning')
            {
             $('#startDateBox').val(''); 
            }
         })
   });​ 
于 2013-03-11T18:46:12.867 回答
3

你错过了第一个.val(),和$前面的('#startDateBox')在同一行。您还可以使用$(this)来引用文本框,因为在该函数中this引用文本框 DOM 元素本身。用 jQuery 函数包装它可以$()让您访问所有框架的好东西。

$(document).ready(function()
{
    $('#startDateBox').click(function(){  
         if($(this).val() == 'Beginning')
                 ^^^^^^ Here
         {
             $(this).val(''); 
         }
    })
});​ 
于 2013-03-11T18:46:38.277 回答
0

我建议 HTML5 浏览器使用这个

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

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

这是需要更改的行

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

在该文本框获得焦点之前,单击将不会处理点击选项卡

于 2013-03-11T18:46:19.120 回答
0

好吧,if(('#startDateBox')=='Beginning')永远都是假的……

我认为您的意思更像是:

if($('#startDateBox').val() == 'Beginning')
于 2013-03-11T18:46:49.187 回答
0

我最近为此目的写了一个非常小的 jquery 插件:

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

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

if($('#input').val() === $('#input').placeholder()){ return false; }
于 2013-03-11T18:50:53.940 回答