【发布时间】:2015-01-20 04:11:50
【问题描述】:
我需要显示和隐藏基于复选框的表单(默认关闭),使表单输入和标签隐藏,而且不是必需的。现在,我只是想解决显示问题。我知道我可以使用如下代码禁用表单:
$(document).ready(function() {
$('#00NU00000049YHZ').change(function(){
$('#company').prop('disabled' $('#companylbl').hide();, !$(this).is(':checked' $('#companylbl').show()));
});
});
</script>
我希望公司字段通过复选框隐藏/显示的 HTML 表单示例,并在以后验证期间根据复选框的状态将其设置为必需或不需要。
<!DOCTYPE html>
<html lang="en">
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"> </META>
<HEAD>
</HEAD>
<BODY>
<form id="w2lForm"
<label for="first_name">First Name</label><input id="first_name" maxlength="40" name="first_name" size="20" type="text" /><br>
<label for="last_name">Last Name</label><input id="last_name" maxlength="80" name="last_name" size="20" type="text" /><br>
This is for a Company:<input id="00NU00000049YHZ" name="00NU00000049YHZ" type="checkbox" value="0" /><br>
<label id="cmpnylbl" for="company">Company</label><input id="company" maxlength="40" name="company" size="20" type="text" /><br>
<label for="street">Address</label><textarea id="street" name="street"></textarea><br>
<input type="submit" name="submit">
</form>
</BODY>
</HTML>
我正在使用 jQuery 1.11.1。在许多其他事情中,我尝试在公司标签和输入字段周围放置一个 DIV 标记,然后在可见性为“可见”或“隐藏”的情况下执行添加/删除类,但这似乎不起作用隐藏“公司”的文本以及输入文本字段。有人可以告诉我我需要做什么吗?
【问题讨论】:
-
$('#company').prop("disabled" $('#companylbl').hide();, !$(this).is(':checked' $('#companylbl').show()));不确定这会如何工作,肯定只是在控制台中抛出语法错误? -
该 JS 代码中有一些奇怪的东西。你确定你抄对了吗?
-
@gillesc 这是我一直在编辑的地方出现的复制粘贴错误。我在发布后立即修复了它。
-
它仍然是完全一样的,并且通过接受的答案清楚地表明 JS 是错误的。
-
现已修复。有两个地方我用双引号而不是单引号。显然,在粘贴了我一直在使用的那个版本的代码之后,我只修复了其中一个。感谢您的勤奋和对细节的关注。