选中复选框(取消)时显示另一个文本

Display another text when CheckBox is (un)checked

本文关键字:显示 另一个 文本 取消 复选框      更新时间:2023-09-26

这应该很简单。您有以下文本:

你的尖叫:哎呀!

当您选中下面的复选框时,上面写着

尖叫"耶"代替!

"哎呀!"这个词应该改为"耶!":

你的尖叫:耶!

所以我的身体是(我想用一个函数来做(:

Your scream: <script>GiveMeSomeScream()</script>!<hr>
<input type="checkbox" name="whatever" id="ScreamYay"> Scream "yay" instead!

但是我在实际脚本上遇到了问题。这是我首先尝试的:

function GiveMeSomeScream()
{  if (document.GetElementById('ScreamYay').checked == "true")
{  document.write("Yay");
}  else
{  document.write("Whoops");
}}

但它就是行不通。所以我像这样扩展它:

var yay = document.getElementById('ScreamYay').checked
function GiveMeSomeScream()
{  if (yay == "true")
{  document.write("Yay");
}  else
{  document.write("Whoops");
}}

现在它每次都给出"Whoops"(即使我默认选中复选框(,仅此而已。

我知道这很荒谬,我什至无法处理复选框,但我仍然很高兴得到任何帮助。

if (yay == "true")更改为if (yay)

document.getElementById('elementID').checked 返回的值将是一个布尔值。这里对此有进一步的解释。要使用它,您可以按照@Alex的建议,简单地使用 if(yay === true)if(yay) 来测试该值。至于使用 document.write ,您需要像这样包含 html 标签(标记(。

你可以

像下面这样
做您必须在复选框标签上添加更改功能。
还要记录。GetElementById 是错误的
document.getElementbyId 是对的
最后
document.getElementById("ScreamYay"(.check == "true" 是错误的
document.getElementById("ScreamYay"(.check == true is right

function GiveMeSomeScream()
{  if (document.getElementById('ScreamYay').checked == true)
{  document.write("Yay");
}  else
{  document.write("Whoops");
}}