【发布时间】:2011-09-05 18:38:58
【问题描述】:
我有一个小组合框,允许用户选择他们想要注册参加活动的家庭成员数量。但如果家庭成员不是美国公民,我想展示第二组选项让他们进入。我可以动态添加元素,但我不知道如何显示/隐藏公民字段。
我是 jQuery 新手,所以我可能做错了,但这里是添加字段的函数:
function familySize() {
while (famElements < $("#famNum").val()) { // add fields
addFields = '<div class="member"> Name: <input id="name" type="text" placeholder="Name" required> <input id="cit" type="checkbox" onChange="citizenInfo()" > Non U.S. Citizen?<br/></div> <div class="citInfo" style="display:none"> <input id="countryCitizenship" type="text" placeholder="Citizenship" required> </div>';
document.getElementById('famItems').innerHTML += addFields;
famElements++;
}
while (famElements > $("#famNum").val()) { // remove fields
console.log("remove one");
$('#famItems div:last').remove();
famElements--;
}
}
<div id="famItems">
</div>
citInfo div 上的 style="display:none" 最初确实隐藏了它,但我只需要弄清楚如何捕获复选框上的点击以隐藏/显示公民文本输入。
【问题讨论】:
-
您可以使用 .hide() 和 .show() 方法隐藏/显示 div。添加点击事件是 .click(function() { 这里要执行的代码 });
-
不幸的是,我似乎没有足够清楚地定义我的问题。我可以添加复选框并且
参数有效。citizenInfo() 被调用就好了。只是我不知道在该方法中做什么。如何访问复选框下方的 div (citInfo) 并根据复选框的状态打开和关闭它的可见性?
标签: jquery checkbox dynamic-html