如果输入框为空显示标签,如果有文字,则隐藏标签

时间:2013-07-31 10:27:13

标签: jquery

如果联系表单输入框为空,我是否可以显示<label>,然后在有人开始输入文本后隐藏它?

这是我的标记样本

<label for="name">Name *</label>
<input type="text" id="name" name="name" value=""/>

4 个答案:

答案 0 :(得分:4)

是的,

使用keyup()函数..

  $('#name').keyup(function(){
      if($(this).val() == ''){
         $(this).prev().show();
      }else{
         $(this).prev().hide();
      }
 });

这是考虑您的标签始终是文本框的前一个元素

否则你可以使用..

   $('#name').keyup(function(){
      if($(this).val() == ''){  
       $('label[for="name"]').show();
       }else{
         $('label[for="name"]').hide();
      }
  });

这将获取其属性为name的特定标签。

答案 1 :(得分:3)

试试这个:

$("#name").bind("keyup", function(e) {
    $('label[for="name"]').hide();
})

答案 2 :(得分:0)

也许您想要使用属性&#34;占位符&#34;为您的输入字段。

<input type="text" id="name" name="name" value="" placeholder="Name *"/>

否则这会对你有所帮助:

$('#name').keyup(function(){
  if($(this).val() == '')
    $(this).prev().show();
  else 
    $(this).prev().hide();

});

答案 3 :(得分:0)

试试这个:

$("#name").blur(function(){
if($(this).val() == '')
    $("label").attr("style", "visibility: hidden")
else
    $("label").attr("style", "visibility: ")
});