选中/取消选中复选框时更改变量值

时间:2013-10-16 12:37:31

标签: javascript checkbox

我试图根据复选框的状态更改变量的值 这是我的代码示例

<script type="text/javascript">
if(document.getElementByType('checkbox').checked)
{
var a="checked";}
else{
var a="not checked";}
document.getElementById('result').innerHTML ='result '+a;
</script>
<input type="checkbox" value="1"/>Checkbox<br/>
<br/>
<span id="result"></span>

请告诉我这段代码的问题。

6 个答案:

答案 0 :(得分:6)

试试这个:

if (document.querySelector('input[type=checkbox]').checked) {

演示here

代码建议:

<input type="checkbox" />Checkbox<br/>
<span id="result"></span>
<script type="text/javascript">
window.onload = function () {
    var input = document.querySelector('input[type=checkbox]');

    function check() {
        var a = input.checked ? "checked" : "not checked";
        document.getElementById('result').innerHTML = 'result ' + a;
    }
    input.onchange = check;
    check();
}
</script>

在你的帖子中你有HTML之前的javascript,在这种情况下,HTML应该是第一个,所以javascript可以“找到它”。或者在我的示例中使用window.onload函数,在页面加载后运行代码。

答案 1 :(得分:2)

            $('#myForm').on('change', 'input[type=checkbox]', function() {
                this.checked ? this.value = 'apple' : this.value = 'pineapple';
            });

答案 2 :(得分:0)

尝试这样的事情

<script type="text/javascript">
    function update_value(chk_bx){
        if(chk_bx.checked)
        {
            var a="checked";}
        else{
            var a="not checked";
        }
        document.getElementById('result').innerHTML ='result '+a;

    }

</script>
<input type="checkbox" value="1" onchange="update_value(this);"/>Checkbox<br/>
    <span id="result"></span>

答案 3 :(得分:0)

太复杂了。内联代码使它很酷。

<input type="checkbox" onclick="yourBooleanVariable=!yourBooleanVariable;">

答案 4 :(得分:0)

对于那些尝试过以前的选项并且因任何原因仍有问题的人,你可以使用.prop()jquery函数:

mat = matrix(rnorm(100), 5)

medians_of_mat <- numeric()
for(i in 1:nrow(mat)) {
  medians_of_mat[i] <- median(mat[i, ])
}

答案 5 :(得分:-1)

此代码只运行一次并检查初始复选框状态。您必须为onchange事件添加事件侦听器。

window.onload = function() {
    document.getElementByType('checkbox').onchange = function() {
        if(document.getElementByType('checkbox').checked) {
            var a="checked";
        } else {
            var a="not checked";
        }
        document.getElementById('result').innerHTML ='result '+a;
    }
}