复选框更新

时间:2012-04-18 19:23:22

标签: javascript forms

我正在尝试更新一些文字,说明是否选中了复选框。唯一的问题是,当它被选中时,文本框会消失,文本会替换它。

<form name="form" id="form">
    <input type="checkbox" name="cb" id="cb" onClick="check();" />
</form>

<script type="text/javascript">
    function check() {
        document.write("checked: " + document.form.cb.checked);
    }
</script>

3 个答案:

答案 0 :(得分:1)

您所看到的是使用document.write的副作用。它正在用您正在编写的文本替换文档的整个主体。尝试做这样的事情。

<form name="form" id="form">
    <input type="checkbox" name="cb" id="cb" onClick="check();" />
</form>

<div id="cb-status">checked: false</div>

<script type="text/javascript">
    function check() {
        document.getElementById('cb-status').innerHTML = "checked: " + document.form.cb.checked;
    }
</script>

答案 1 :(得分:0)

您可以使用jQuery让事情变得更轻松:

考虑到你有一个复选框:

<input type="checkbox" >

带有id = message:

的span元素
<span id="message"></span>

然后,当您单击复选框时,如果选中它,它将在跨度中“写入”。

$("document").ready(function(){
    $(":checkbox").click(function(){
       $("span#message").html("Checkbox is checked: " + $(this).is(":checked"));
    });
});

在jsFiddle中查看:http://jsfiddle.net/WNDUH/3/

答案 2 :(得分:0)

html结束括号后的括号丢失(“:checked”)和字符串concat:

$(":checkbox").click(function(){
     $("span#message").html("Checkbox is checked: " + $(this).is(":checked"));
});