2013-01-14 153 views
0

當選擇第一個單選按鈕時,我需要檢查和禁用所有三個複選框。在單選按鈕檢查上啓用/禁用選擇框

當選中第二個或第三個單選按鈕other_1時,我需要三個複選框取消選中並再次啓用。

CODE(非工作):

function validate_Days() { 

var noOfDays = 0; 

if (document.classic.r.value = "3daypass") { 
    noOfDays = 3; 
} 

if (document.classic.r.value = "2daypass") { 
    noOfDays = 2; 
} 

if (document.classic.r.value = "1daypass") { 
    noOfDays = 1; 
} 


if (noOfDays == 3) { 
    document.getElementById('cb1').checked = true; 
    document.getElementById('cb2').checked = true; 
    document.getElementById('cb3').checked = true; 
} 
else if (noOfDays == 2) { 
    document.getElementById('cb1').checked = false; 
    document.getElementById('cb2').checked = false; 
    document.getElementById('cb3').checked = false; 
} 
else if (noOfDays == 1) { 
    document.getElementById('cb1').checked = false; 
    document.getElementById('cb2').checked = false; 
    document.getElementById('cb3').checked = false; 
} 
} 

編輯:刪除禁用和使用更多的有用的名稱/值

回答

1

我不明白的代碼是幹什麼的,但在這裏是我如何接近檢查和取消選中複選框。我也不明白爲什麼他們被禁用時 - 禁用控件不能成功,所以當提交表單時不會發布到服務器。

<script> 
function getRadioValue(radioSet) { 

    for (var i=0, iLen=radioSet.length; i<iLen; i++) { 

    if (radioSet[i].checked) { 
     return radioSet[i].value; 
    } 
    } 
} 

function updateRadios(el) { 
    var form = el.form; 
    var checked = getRadioValue(form.rb) == '3'? true : false; 
    form.r1.checked = checked; 
    form.r2.checked = checked; 
    form.r3.checked = checked; 
} 
</script> 

<form> 
    <fieldset onclick="updateRadios(this)"> 
    <legend>Radio buttons</legend> 
    <input type="radio" value="1" name="rb"> 1<br> 
    <input type="radio" value="2" name="rb"> 2<br> 
    <input type="radio" value="3" name="rb"> 3<br> 
    </fieldset> 
    <fieldset> 
    <legend>Checkboxes</legend> 
    <input type="checkbox" value="1" name="r1"> 1<br> 
    <input type="checkbox" value="2" name="r2"> 2<br> 
    <input type="checkbox" value="3" name="r3"> 3<br> 
    </fieldset> 
</form> 
相關問題