复选框已选中javascript

时间:2018-11-01 23:52:10

标签: javascript html checkbox

我正在尝试根据是否选中复选框在文本框中设置值 该功能附加到复选框的onclick 这个简单的东西不起作用:(

<div>
MyCheckbox
<input type="checkbox" id="Check1" name="FirstCkName" 
 onclick="testCheckbox(Check1,TextBx1)" />
 </div><br>

 <div>
  CheckBx Text Box
  <input id="TextBx1" name="CheckBxName"  type="text"  /> 
  </div><br>

<script>
function testCheckbox(oCheckbox,oTxtbox)
{

if (oCheckbox.checked == true)
{
    document.getElementById("oTxtbox").value=1;
}
else
{
    document.getElementById("oTxtbox").value="";
}
}
</script>

链接到JSfiddle https://jsfiddle.net/JS_learner/2750639m/30/

2 个答案:

答案 0 :(得分:1)

做类似的事情。

var checkBox = document.getElementById("Check1");
checkBox.addEventListener("click", function(e) {
  if (e.target.checked) {
    document.getElementById("TextBx1").value = 1;
  } else {
    document.getElementById("TextBx1").value = "";
  }
});
	<div>
		MyCheckbox
		<input type="checkbox" id="Check1" name="FirstCkName"  />
	</div><br>
	
	<div>
	CheckBx Text Box
		<input id="TextBx1" name="CheckBxName"  type="text"  /> 
	</div>

答案 1 :(得分:0)

问题是这一行:

onclick="testCheckbox(Check1,TextBx1)"

这里您正在发明自己的参数。那行不通。 “ click”事件是预定义的Mousevent,它将提供一个'event'参数。

event.target”将成为您单击的元素。

这是定义该事件处理程序的方式:

onclick="testCheckbox"

现在您可以像这样编写脚本:

函数testCheckbox(event) { 如果(event.target.checked == true) {     document.getElementById(“ oTxtbox”)。value = 1; } 其他 {     document.getElementById(“ oTxtbox”)。value =“”; } }