我试图根据复选框的状态更改变量的值 这是我的代码示例
<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>
请告诉我这段代码的问题。
答案 0 :(得分:6)
试试这个:
if (document.querySelector('input[type=checkbox]').checked) {
代码建议:
<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;
}
}