如何通过点击特定的单选按钮

问题描述:

改变div的颜色

大家在计算器社区如何通过点击特定的单选按钮

我尝试创建本地JavaScript的功能..... 我想改变的特定背景颜色invoice_wrapper格红,如果我按一下按钮radioyes或 绿色,如果我按一下按钮radiono

我想通过这个关键字做到这一点

我如何通过本地JavaScript做到这一点不是任何库,请

好运.....

<?php foreach($fetches AS $electricities): ?> 

<div class="invoice_wrapper"> 

<?php if($electricities->paid == "Yes"): ?> 

Yes: <input onclick="" class="radioyes" type="radio" name="paid" value="<?php echo $electricities->paid; ?>" checked> 
No: <input onclick="" class="radiono" type="radio" name="paid" value="No"> 

<?php else: ?> 

Yes: <input onclick="" class="radioyes" type="radio" name="paid" value="<?php echo $electricities->paid; ?>"> 
No: <input onclick="" class="radiono" type="radio" name="paid" value="No" checked> 

<?php endif; ?> 

</div> 

<?php endforeach; ?> 

var elems = document.querySelectorAll('.invoice_wrapper [type="radio"]'); 
 
var elemsInit = document.querySelectorAll('.invoice_wrapper [type="radio"]:checked'); 
 
var handler = function(elem) { 
 
    elem.parentNode.classList.remove('red', 'green'); 
 
    if (elem.value === 'Yes') { 
 
    elem.parentNode.classList.add('green'); 
 
    } else { 
 
    elem.parentNode.classList.add('red'); 
 
    } 
 
}; 
 
Array.from(elemsInit).forEach(handler); 
 
Array.from(elems).forEach(function(elem) { 
 
    elem.addEventListener('change', handler.bind(null, elem)); 
 
});
.invoice_wrapper { 
 
    border: 5px solid black; 
 
    margin: 5px; 
 
} 
 
.green { 
 
    background: green; 
 
} 
 
.red { 
 
    background: red; 
 
}
<div class="invoice_wrapper"> 
 
    Yes: 
 
    <input class="radioyes" type="radio" name="paid1" value="Yes" checked>No: 
 
    <input class="radiono" type="radio" name="paid1" value="No"> 
 
</div> 
 

 
<div class="invoice_wrapper"> 
 
    Yes: 
 
    <input class="radioyes" type="radio" name="paid2" value="Yes">No: 
 
    <input class="radiono" type="radio" name="paid2" value="No" checked> 
 
</div>

+0

玩这个代码是我很难先生 – mohdadawe

+0

@mohdadawe,什么是这样的困难? – Rayon

+0

什么是forEach你在这个函数中使用你的意思是循环 – mohdadawe