2013-12-16 50 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