Poniższy kod działa świetnie w IE, ale nie w FF lub Safari. Nie mogę do końca życia zrozumieć dlaczego. Kod to , który ma być oznaczony jako, aby wyłączyć przyciski opcji, jeśli wybierzesz opcję "Wyłącz 2 przyciski radiowe". Powinien włączyć przyciski opcji, jeśli zaznaczysz opcję "Włącz oba przyciski opcji". Oba działają ...Jak włączyć wyłączone przyciski opcji?
Jeśli jednak nie używasz myszy do przechodzenia między 2 opcjami ("Włącz ..." i "Wyłącz ..."), przyciski radiowe nie wydają się być wyłączone lub włączone poprawnie, dopóki nie klikniesz nigdzie indziej na stronie (nie na samych przyciskach).
Jeśli ktoś ma czas/jest ciekawy/czuje się pomocny, wklej poniższy kod na stronę html i załaduj go w przeglądarce. Działa świetnie w IE, ale problem przejawia się w FF (3 w moim przypadku) i Safari, wszystko w Windows XP.
<html>
<head>
<script language="javascript">
function SetLocationOptions() {
var frmTemp = document.frm;
var selTemp = frmTemp.user;
if(selTemp.selectedIndex >= 0) {
var myOpt = selTemp.options[selTemp.selectedIndex];
if(myOpt.attributes[0].nodeValue == '1') {
frmTemp.transfer_to[0].disabled = true;
frmTemp.transfer_to[1].disabled = true;
frmTemp.transfer_to[2].checked = true;
} else {
frmTemp.transfer_to[0].disabled = false;
frmTemp.transfer_to[1].disabled = false;
}
}
}
</script>
</head>
<body>
<form name="frm" action="coopfunds_transfer_request.asp" method="post">
<select name="user" onchange="javascript: SetLocationOptions()">
<option value="" />Choose One
<option value="58" user_is_tsm="0" />Enable both radio buttons
<option value="157" user_is_tsm="1" />Disable 2 radio buttons
</select>
<br /><br />
<input type="radio" name="transfer_to" value="fund_amount1" />Premium
<input type="radio" name="transfer_to" value="fund_amount2" />Other
<input type="radio" name="transfer_to" value="both" CHECKED />Both
<br /><br />
<input type="button" class="buttonStyle" value="Submit Request" />
</form>
</body>
</html>
Umm, to pracuje w IE10 i FF: [skrzypce] (http: //jsfiddle.net/K6cAu/1/) – akinuri