【问题标题】:Clear a span text of a particular input field清除特定输入字段的跨度文本
【发布时间】:2019-07-23 20:33:37
【问题描述】:

我有一个单选按钮,其值为是和否。 如果我单击是,我需要启用 2 个输入字段。如果我尝试在不输入值的情况下保存它们,则会显示验证消息。在它显示验证消息后不久,如果我尝试单击否,则必须禁用输入字段并应删除验证消息。

当我点击 No(No 的值为 0)时,字段将被禁用,但验证消息仍然存在。

Js:

if($("input[name=is_emt_license_available]:checked").val() == 0) {
  $("#license_number").attr("disabled", "disbled");  
  $("#license_issued_body").attr("disabled", "disabled");
  $('#license_number').find('span').html('');
  $('#license_issued_body').find('span').html(''); 
} 

HTML:

<input class="form-control mb-0" name="license_number" id="license_number" placeholder="ENTER LICENSE NUMBER" value="" disabled="disabled">

<span class="error" style="color:#e03b3b">Enter License Number.</span>

<input class="form-control mb-0" name="license_issued_body" id="license_issued_body" placeholder="ENTER LICENSE ISSUING BOARD" value="" disabled="disabled">

 <span class="error" style="color:#e03b3b">Enter License ISSUING BOARD.</span>

我还有其他几个字段,它们的验证消息显示在每个元素下的同一个跨度类中。所以如果我点击否,那么我只需要删除以上两个字段的验证消息。

【问题讨论】:

  • 试试这个:$('.error').html('')
  • 这将清除页面中的所有错误。但我只需要清除这两个输入字段下的错误消息。
  • 而不是find 使用next 作为$('#license_issued_body').next('span').html('');

标签: javascript jquery radio-button


【解决方案1】:

它不起作用,因为您使用的 find 方法正在查找作为所选输入元素的子元素的元素,并且 span 和 input 元素是彼此的兄弟。

https://api.jquery.com/find/

可以使用元素+元素选择器来选择span元素:

$('#license_number + span').html('');

在这种情况下,它将获得一个跨度,该跨度跟随一个 id 为 license_number 的元素

CSS element+element Selector

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 2011-09-23
    • 2021-12-03
    相关资源
    最近更新 更多