Javascript 为什么我的输入从不隐藏?
如果选中了Javascript 为什么我的输入从不隐藏?,javascript,jquery,html,Javascript,Jquery,Html,如果选中了复选框,我想显示一个输入(type=email)。如果没有检查,我想把它藏起来。我的问题是,输入字段总是可见的 jQuery: $("#newsletterCheckbox").change(function () { if ($(this).is(":checked")) { $("#newsletterInputfield").show(); } else { $("#newsletterInputfield").hide(); } });
复选框,我想显示一个输入(type=email)。如果没有检查,我想把它藏起来。我的问题是,输入字段总是可见的
jQuery:
$("#newsletterCheckbox").change(function () {
if ($(this).is(":checked")) {
$("#newsletterInputfield").show();
} else {
$("#newsletterInputfield").hide();
}
});
HTML:
时事通讯
...
我已经试过了,还有很多其他的例子。提前谢谢。我不确定你的问题是否正确
要在开始时隐藏该字段,请添加以下javascript代码:
$("#newsletterCheckbox").change(function () {
EmailTextboxVisibility();
});
function EmailTextboxVisibility(){
if ($("#newsletterCheckbox").is(":checked")) {
$("#newsletterInputfield").show();
} else {
$("#newsletterInputfield").hide();
}
}
$( document ).ready(function() {
EmailTextboxVisibility();
});
当复选框未选中时,这将在开始时隐藏电子邮件文本框
这是我的我不确定你的问题是否正确
要在开始时隐藏该字段,请添加以下javascript代码:
$("#newsletterCheckbox").change(function () {
EmailTextboxVisibility();
});
function EmailTextboxVisibility(){
if ($("#newsletterCheckbox").is(":checked")) {
$("#newsletterInputfield").show();
} else {
$("#newsletterInputfield").hide();
}
}
$( document ).ready(function() {
EmailTextboxVisibility();
});
当复选框未选中时,这将在开始时隐藏电子邮件文本框
这里我的将此style=“display:none”
添加到#newsletteInputField
$(“#通讯复选框”).change(函数(){
如果($(this).is(“:checked”)){
$(“#新闻稿输入字段”).show();
}否则{
$(“#新闻稿输入字段”).hide();
}
});代码>
新闻稿
...
将此style=“display:none”
添加到\newsletteInputField
$(“#通讯复选框”).change(函数(){
如果($(this).is(“:checked”)){
$(“#新闻稿输入字段”).show();
}否则{
$(“#新闻稿输入字段”).hide();
}
});代码>
新闻稿
...
也许它解释了你的问题,但你的代码很好,除了我能看到的一件事
根据您的示例,初始您的复选框未选中-因此初始电子邮件输入应隐藏。这是我能看到的唯一问题,因为它最初并没有被隐藏
因此,我将您的包装dic更改为“无显示”样式:
<div id="newsletterInputfield" style="display:none">
而不是这个
<div id="newsletterInputfield">
除此之外,您如何引用jQuery以及页面其余部分的外观可能是一个问题,但我们看不到…可能是它对您的问题的解释,但您拥有的代码很好,除了我可以看到的一点
根据您的示例,初始您的复选框未选中-因此初始电子邮件输入应隐藏。这是我能看到的唯一问题,因为它最初并没有被隐藏
因此,我将您的包装dic更改为“无显示”样式:
<div id="newsletterInputfield" style="display:none">
而不是这个
<div id="newsletterInputfield">
除此之外,如何引用jQuery以及页面的其余部分看起来如何可能是一个问题,但我们看不出…我的解决方案只使用CSS3和HTML
不需要Javascript
这里的想法是使用:checked
选择器来设置所需元素的样式
HTML:
<input type="checkbox" id="foo" value="1" checked="checked"/>
<div id="checked-a">
Some content
</div>
<input type="email" id="hdn1" value="yes" />
您可以添加过渡以使其看起来更好,但这不是必需的
在这里查看一个示例,其中包含转换和注释掉的显示部分:我的解决方案仅使用CSS3和HTML
不需要Javascript
这里的想法是使用:checked
选择器来设置所需元素的样式
HTML:
<input type="checkbox" id="foo" value="1" checked="checked"/>
<div id="checked-a">
Some content
</div>
<input type="email" id="hdn1" value="yes" />
您可以添加过渡以使其看起来更好,但这不是必需的
在这里查看一个示例,带有过渡和注释掉的显示部分:Html:
<input name="checkboxNewsletter" type="checkbox" id="newsletterCheckbox" />Newsletter...
<div id="newsletterInputfield" style="display:none;">
<input type="email" placeholder="Email*" id="email" class="inputFields" />
</div>
Html:
<input name="checkboxNewsletter" type="checkbox" id="newsletterCheckbox" />Newsletter...
<div id="newsletterInputfield" style="display:none;">
<input type="email" placeholder="Email*" id="email" class="inputFields" />
</div>
代码很好,只需将所有内容放入文档即可。就绪:
**$(document).ready(function() {**
$("#newsletterCheckbox").change(function () {
...
});
**});**
谢谢大家的帮助:)代码很好,只需将所有内容放入文档即可。准备好:
**$(document).ready(function() {**
$("#newsletterCheckbox").change(function () {
...
});
**});**
谢谢你们的帮助:)你们自己的小提琴呢?可能他没有看过自己的控制台,在HTML之前就已经包含了JavaScript。我设置了一个脚本,它工作得很好-我没有发现任何问题。看起来很有效。当“选中”状态更改为“未选中”时,元素将隐藏。你是说它从一开始就表现出来了吗?这是因为您的代码只在change
事件中运行,页面加载时没有发生任何更改。如果您想将其加载为隐藏,最好使用css将其隐藏。@AleksG谢谢:)@DavidHedlund这是有趣的部分。我不知道为什么我的代码不能工作。没关系,从一开始就表现出来了。那你自己的小提琴呢?可能他没有看过自己的控制台,在HTML之前就已经包含了JavaScript。我设置了一个脚本,它工作得很好-我没有发现任何问题。看起来很有效。当“选中”状态更改为“未选中”时,元素将隐藏。你是说它从一开始就表现出来了吗?这是因为您的代码只在change
事件中运行,页面加载时没有发生任何更改。如果您想将其加载为隐藏,最好使用css将其隐藏。@AleksG谢谢:)@DavidHedlund这是有趣的部分。我不知道为什么我的代码不能工作。没关系,它从一开始就显示出来了。OP的链接JSFIDLE不是他的-这是他看到的一个例子-它在没有任何更新的情况下正常工作。我的问题是,为什么我的代码在测试时不工作,但是它确实有效OP的链接JSFIDLE不是他的-这是他看到的一个例子-它在没有任何更新的情况下正常工作。我的问题是,为什么我的代码在测试时不工作,但它确实工作