我有一个单选按钮,其值为Yes和No。 如果单击“是”,则需要启用2个输入字段。如果我尝试在不输入值的情况下保存它们,则会显示验证消息。并且在显示验证消息后不久,如果我尝试单击“否”,则必须禁用输入字段,并且应删除验证消息。
当我单击“否”(“否”的值为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>
我还有其他几个字段,其验证消息显示在每个元素下同一span类中。因此,如果单击“否”,那么我只需要删除上述两个字段的验证消息。
答案 0 :(得分:0)
之所以不起作用,是因为您使用的find方法正在查找作为所选输入元素的子元素的元素,并且span和input元素是彼此的兄弟姐妹。
您可以使用元素+元素选择器来选择span元素:
$('#license_number + span').html('');
在这种情况下,它将获得一个范围,该范围在ID为license_number的元素之后