我正在尝试o如果选中复选框,则更改div的背景颜色。
它适用于循环外的div,但不适用于循环中的div。所有的变量看起来都很好,所以我认为这是语法错误。
谢谢!
<input type="checkbox" name="check0" value='1' <?php echo ((${executed_mod0}=="1")? "checked" : ''); ?> onchange='this.nextSibling.style.backgroundColor = this.checked ? "#6EDBFF" : "white";'><input type="text" name="procedure0" value="<?php echo $repair_mod0;?>">
<?php
$i=1;
while($i<$nrpm)
{
echo '<br><input type="checkbox" name="check'.$i.'" value="1"'. ((${executed_mod.$i}=="1")? "checked":"").' onchange="this.nextSibling.style.backgroundColor = this.checked ? \"#6EDBFF\" : \"white\";"><input type="text" name="procedure'.$i.'" value="'.${repair_mod.$i}.'">';
$i++;
};
?>
最佳答案
也许this可以帮助您朝正确的方向发展。当让文本框设置背景色时,我又添加了一个.nextSibling
。
的HTML
<input type="checkbox" name="check0" value='1' onchange='setColor(this)' />
<input type="text" name="procedure0" value="1" />
<input type="checkbox" name="check1" value='2' onchange='setColor(this)' />
<input type="text" name="procedure1" value="2" />
<input type="checkbox" name="check2" value='3' onchange='setColor(this)' />
<input type="text" name="procedure2" value="3" />
的JavaScript
function setColor(ele){
ele.nextSibling.nextSibling.style.backgroundColor = ele.checked ? "#6EDBFF" : "white";
}
关于javascript - 如果选中复选框,则更改颜色-onchange事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33844125/