Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的输入从不隐藏?_Javascript_Jquery_Html - Fatal编程技术网

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不是他的-这是他看到的一个例子-它在没有任何更新的情况下正常工作。我的问题是,为什么我的代码在测试时不工作,但它确实工作