我需要一個單選按鈕的事件觸發器,當它被取消選中時,因爲選中了另一個按鈕。我需要一個單選按鈕的事件觸發器,當它被取消選中時,因爲另一個按鈕被選中
下面的代碼應該證明我的困境。
如果您會注意到,在html代碼中有一個附加到每個單選按鈕和複選框的onchange事件觸發器。理論上,狀態從檢查到未檢查的變化應該觸發onchange事件。
這種情況與複選框的預期一樣。如果您選中一項,則會收到提醒,「您的商品已更改爲已確認」。如果您取消選中它,您會收到提醒,「您的商品已更改爲未選中」。
使用單選按鈕,當您檢查按鈕之一時,您會收到警報'您的項目更改爲已檢查',因爲該按鈕已從未選中更改爲已檢查。但是,當您檢查第二個按鈕並且第一個單選按鈕從選中變爲未選中時,「onchange」事件觸發器不會觸發,並且未觸發「其他」警報。
所以這個問題對我來說是什麼事件被觸發時,一個單選按鈕變得不被選中的另一個按鈕被檢查?
我感謝大家對此的幫助。
--Kenoli
<html>
<head>
<title></title>
<script type="text/javascript">
function clickAction() {
//alert ('Your item changed');
if (this.checked == true) {alert ('Your item is changed to checked');}
else if (this.checked == false) {alert('Your item is changed to unchecked');}
}
</script>
<script type="text/javascript">
function initializeToggles() {
var button1= document.getElementById('button1');
button1.onchange = clickAction;
var box1= document.getElementById('box1');
box1.onchange = clickAction;
var box2= document.getElementById('box2');
box2.onchange = clickAction;
}
</script>
<script type="text/javascript">window.onload = initializeToggles;</script>
</head>
<body>
<input type="radio" name="testRadio" id="button1" >Button one<br/>
<input type="radio" name="testRadio" id="button2" >Button two<br/><br/>
<input type="checkbox" name="testCheckbox" id="box1" >Box one<br/>
<input type="checkbox" name="testCheckbox" id="box2" >Box two<br/><br/>
</body>
</html>
謝謝。這回答了我的問題。我想我可以創建一個'checked'元素的變量,並通過它來重置這些元素。似乎有這麼多的AJAX這些天,一個「onunset」事件取消選中一個單選按鈕將是有用的 – 2010-09-24 22:02:37