2016-08-10 30 views
0

a,b,c,d是4個複選框。如果選擇「a」,則不應選中剩餘的複選框b,c,d。即使在顯示錯誤消息後仍選中複選框

如果B,C中的一個或多個複選框時,選擇d,那麼「A」不應該選擇

if(document.getElementById('a').checked) { 
    if(document.getElementById('b').checked || document.getElementById('c').checked || document.getElementById('d').checked){ 
    alert("choose between 'A' and one/more option from b,c,d"); 
    return; 
    } 
} 

我儘快我刪除警報,我可以得到一個警報消息,但查看'a'和b,c,d中的一個選項。 如何防止它,以便只有其中一個被選中即使我刪除警報消息?我想最新的選項取消選中

+0

我認爲它要麼只是一個,或BC,CD,BD ...等 – brad

回答

0
document.getElementById('b').checked = false; 
document.getElementById('c').checked = false; 
document.getElementById('d').checked = false; 
+0

如果我想最新的選項取消選中 – kumar0981

0

您必須將checked物業在功能設置爲false

if(document.getElementById('a').checked) { 
     if(document.getElementById('b').checked || document.getElementById('c').checked || document.getElementById('d').checked){ 
      alert("choose between 'A' and one/more option from b,c,d"); 
      document.getElementById('b').checked = document.getElementById('c').checked = document.getElementById('d').checked = false 
      return; 
     } 

}

Example

+0

如果我想最新的選項取消選中 – kumar0981

1

我想你應該THI更多關於如何最好地提供更好的用戶體驗。從我收集的信息來看,帶複選框作爲子選項的單選按鈕可以更好地適應這種情況。看看下面的例子。

function handleOption(myRadio) { 
 
    document.querySelectorAll("#bcdCheckboxes input[type='checkbox']").forEach(e => e.disabled = myRadio.value === 'a'); 
 
}
.indent { 
 
    margin-left: 15px; 
 
}
<input type="radio" name="option" onclick="handleOption(this)" value="a">Option A 
 
<br> 
 
<input type="radio" name="option" onclick="handleOption(this)" value="bcd">Other Options 
 
<br> 
 
<div class="indent" id="bcdCheckboxes"> 
 
    <label> 
 
    <input type="checkbox" value="b" disabled>Option B</label> 
 
    <br> 
 
    <label> 
 
    <input type="checkbox" value="c" disabled>Option C</label> 
 
    <br> 
 
    <label> 
 
    <input type="checkbox" value="d" disabled>Option D</label> 
 
</div>

+0

如果我想要最新的選項未經檢查,怎麼辦? – kumar0981

+0

我不太明白你的意思。 – 10100111001

相關問題