2013-12-16 127 views
2

我有兩組單選按鈕。針對保險類型Insurance TypeReport TypeOnclick單選按鈕禁用另一個單選按鈕

代碼的無線電按鈕:

<input type="radio" class="p27" name="ins_type" value="loan"/> Loan Insurance 
<input type="radio" class="p27" name="ins_type" value="benefit"/> Benefit Insurance 

和代碼報告類型:

<input type="radio" class="p27" name="rep_type" value="normal_rep"/> Normal Listing 
<input type="radio" class="p27" name="rep_type" value="loan_coverage"/> Loan Coverage 
<input type="radio" class="p27" name="rep_type" value="premium_coverage"/> Premium Coverage 

我想實現當我點擊賠付保險單選按鈕從保險類型組中,報告類型組的貸款覆蓋範圍和保費範圍單選按鈕應被禁用。

我不是一個JavaScript傢伙,所以任何幫助對我來說都是非常有用的。

+0

你應該有那些標籤的結束斜線? – RageCage

+0

@BraydonKains我猜是這樣,它不會給出任何錯誤 – Bongsky

+0

是的,應該在他們的結尾有斜槓。但是,如果沒有,大多數瀏覽器都不會投訴。 – Thayne

回答

3

首先,爲福利,貸款覆蓋範圍和保費範圍(說我的代碼的福利,貸款和保費)輸入添加ID。然後使用以下的javascript:

document.getElementById('benefit').onclick = function() { 
    document.getElementById('loan').disabled = true; 
    document.getElementById('premium').disabled = true; 
} 

如果你想重新啓用他們點擊回到租借的insurancetype你將需要爲輸入另一個處理程序:

document.getElementById('loanType').onclick = function() { 
    document.getElementById('loan').disabled = false; 
    document.getElementsById('premium').disabled = false; 
} 
+0

但是如果多次點擊'benefit' DOM元素會發生什麼? – zeantsoi

+0

它將簡單地將貸款和保費設置爲禁用,如果它們已被禁用,則不會執行任何操作。 – Thayne

+0

對......但如果之後點擊「貸款」會發生什麼? – zeantsoi

1

以下是純JavaScript方式來完成這一點。真的,你需要的是處理兩個事件 - 如果檢查benefit DOM元素,則會出現一個事件,如果檢查load DOM元素,則返回一個事件。由於點擊load想必應該重新啓用這兩個已禁用的單選按鈕,用於處理每個創建一個單獨的功能:

document.getElementById('benefit') = function() { 
    document.getElementById('loan_coverage').disabled = true; 
    document.getElementById('premium_coverage').disabled = true; 
}; 

document.getElementById('loan') = function() { 
    document.getElementById('loan_coverage').disabled = false; 
    document.getElementById('premium_coverage').disabled = false; 
}; 
+0

您不能通過再次點擊單選按鈕來取消選中單選按鈕(至少默認情況下不會,但您可以使用javascript啓用此類行爲)。 – Thayne

+0

我並不是建議您通過再次單擊來取消選中單選按鈕。我在說,如果單擊另一個單選按鈕,則應該能夠單獨/適當地處理該事件。 – zeantsoi

+0

正確,但是當你點擊'benefit'兩次,而不是當你點擊'benefit'然後'loan'時,你的原始代碼重新啓用了按鈕。你目前的代碼雖然很棒。 – Thayne