これが私の現在のコードです:
<label>
<input type="radio" id="nosupp" name="nosupp">
No Supplier Chosen
</label><br/><br/>
<cfloop query="supplier">
<label>
<input type="radio" id="chk1" name="chooseSupp" onchange="change(this);">
Chosen Supplier
</label>
</cfloop>
Javascript:
<script type="text/javascript">
function change(obj) {
var tr=obj.parentNode.parentNode;
var tbl = tr.parentNode.parentNode;
var inputs = tbl.getElementsByTagName("input");
for(var i = 0;i<inputs.length;i++)
inputs[i].parentNode.parentNode.style.backgroundColor='transparent';
tr.style.backgroundColor=(obj.checked)? 'red' : 'transparent';
}
</script>
これが行うことは、クリックされるたびにループ内の各ラジオ ボタンを強調表示することです。
私の問題は、ループの外側のラジオ ボタン (nosupp) をクリックすると、ループで最後にチェックされたラジオ ボタンの強調表示が消えないことです。
nosupp を強調表示したり、nosupp を選択した場合は強調表示したくありません。
何か案は?