单击复选框显示文本

时间:2019-04-05 20:59:26

标签: javascript html

我想用复选框写两个名字,并想通过选中Java脚本中的复选框在console.log中显示文本。 我已经试过了 但不起作用

<p>Pakistan <input type="checkbox" id="mycheck" onclick="myFunction()"></p>
<p>India <input type="checkbox1" id="mycheck" onclick="myFunction"></p>
<script>
  function myFunction() {
    var checkbox = document.getElementById("mycheck")
    if (checkBox.checked == true) {
      console.log("Pakistan")
    }
  }
</script>

4 个答案:

答案 0 :(得分:0)

您的checkbox.check的首字母为b,而您的声明为小写

  <p>Pakistan  <input type="checkbox" id="mycheck" onclick="myFunction()"></p>
  <p>India  <input type="checkbox1" id="mycheck" onclick="myFunction"></p>
      <script>
  function myFunction(){
  var checkbox = document.getElementById("mycheck")
  if (checkbox.checked == true){
    console.log("Pakistan")
  }
}
  </script>

答案 1 :(得分:0)

最好的方法是将this添加到onclick函数中,该函数将引用clicked元素的复选框。然后,您可以检查复选框是否已选中,并打印出父元素的文本以获取“复选框名称”

还要确保您没有type = "checkbox"而不是checkbox1,这不是正确的类型。您还希望避免使用重复的ID,将id="mycheck"更改为类或用不同的名称命名。

工作片段:

<p>Pakistan <input type="checkbox" id="mycheck1" onclick="myFunction(this)"></p>
<p>India <input type="checkbox" id="mycheck2" onclick="myFunction(this)"></p>
<script>
  function myFunction(box) {
    if (box.checked == true) {
      console.log(box.parentElement.textContent)
    }
  }
</script>

答案 2 :(得分:0)

首先,ID是唯一的,因此将this传递到函数中并检查是否已选中-然后console.log将父级文本输入

function myFunction(checkbox) {
  if (checkbox.checked) {
    console.log(checkbox.parentNode.textContent);
  }
}
<p>Pakistan <input type="checkbox" onclick="myFunction(this)"></p>
<p>India <input type="checkbox" onclick="myFunction(this)"></p>

答案 3 :(得分:0)

function myFunction(chbx) {
    if(chbx.checked == true) {
        console.log(chbx.parentElement.textContent);
    }
}
<p>Pakistan <input type="checkbox" onclick="myFunction(this)"></p>
<p>India <input type="checkbox" onclick="myFunction(this)"></p>