【问题标题】:jQuery On clear Button remove html TagjQuery On clear Button 删除 html 标签
【发布时间】:2011-12-03 06:40:54
【问题描述】:

您好,表单上有一个 jQuery 验证,

当用户点击提交时,它会生成一个标签标签

<label for="LastName" generated="true" class="error">This field is required.</label>
<label for="FirstName" generated="true" class="error">This field is required.</label>
<label for="Email" generated="true" class="error">This field is required.</label>
<label for="DOB" generated="true" class="error">This field is required.</label>

点击时我有一个清除按钮 它做了以下事情

$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected')
$("#DOB").removeAttr('value');

但我也想删除验证生成的标签。 我试过这样的东西

$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected')
$("#DOB").removeAttr('value') 
$( "label[for='LastName']" ).remove()
$( "label[for='FirstName']" ).remove()
$( "label[for='Email']" ).remove();

但是没有用。

有什么帮助吗?

【问题讨论】:

    标签: jquery button reset


    【解决方案1】:

    一口气把它们全部搞定。您只需要:

    $('.error').remove()
    

    【讨论】:

      【解决方案2】:

      您的代码,但末尾有分号 :)。结束它的工作。

      $('#remove').click(function() {
      
          $("label[for='DOB']" ).remove();
          $("label[for='LastName']" ).remove();
          $("label[for='FirstName']" ).remove();
          $("label[for='Email']" ).remove();
      
      });
      

      代码:http://jsfiddle.net/LS2bE/1/

      【讨论】:

      • 谢谢 samich 和 Diodeus。正如我所说,标签是通过表单验证自动生成的。我可以附加或修改标签显示为“此字段为必填项”的数据吗?
      • 这取决于你在哪里初始化验证。如果是 ASP.NET MVC - 您可以在模型字段[Required(ErrorMessage="My Error message")] 上使用属性。如果您在 js 中初始化 - 请检查:stackoverflow.com/questions/2457032/…。您可以在此处找到所有字段或特定字段的覆盖消息。
      猜你喜欢
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-19
      • 1970-01-01
      相关资源
      最近更新 更多