JavaScript 复选框启用/禁用

5

好的,这很烦人,但很可能很简单。我想要在我的网页上以禁用的复选框开始,并在选择列表框中的特定行之后启用这些框。所以我将以下内容放在onload方法中

onload = function () {
   for (i = 0; i < document.frmMain.checkgroup.length; i++){
        document.frmMain.checkgroup[i].disabled = true ;
   }
}

我的页面开始时有一些禁用的框,现在我想启用它们。

function enableCheckboxes(){
    if (document.frmMain.Vrste[document.frmMain.Vrste.selectedIndex].value == "Sendvici i Rostilj"){
        for(i=0;i<document.frmMain.checkgroup.length;i++){
       document.frmMain.checkgroup[i].enabled = true;

        }
    }
}

它进入了for循环,但从未启用这些复选框。我无法弄清楚为什么。

这是html部分,我在其中调用enablecheckbox函数:

<select name="Vrste" onChange="PopulatePodvrste(); enableCheckboxes();"  size="8">
    <option value="Pica">Pica</option>
    <option value="Barbarina domaca trpeza">Barbarina domaca trpeza</option>
    <option value="Slana Palacinka">Slana Palacinka</option>
    <option value="Slatka Palacinka">Slatka Palacinka</option>
    <option value="Sendvici i Rostilj">Rostilj i sendvici</option>
    <option value="Dobro jutro sa Barbarom">Dobro jutro sa Barbarom</option>
    <option value="Chicken Meni">Chicken Meni</option>
    <option value="Posebna Ponuda">Posebna Ponuda</option>
    <option value="Salate">Salate</option>
</select>

最后是实际的复选框:

<input type="checkbox" name="checkgroup" >Susam</input><br>
<input type="checkbox" name="checkgroup" >Cili</input><br>
<input type="checkbox" name="checkgroup" >Tartar</input><br>
<input type="checkbox" name="checkgroup" >Urnebes</input><br>
<input type="checkbox" name="checkgroup" >Krastavac</input>
2个回答

10

尝试使用以下方法:

    document.frmMain.checkgroup[i].disabled = false ;

2
如果您想在页面中添加jQuery库,那么我会添加以下内容:
$(document).ready(function() {
    $("input[name='checkgroup']").attr("disabled", "disabled");
})

function enableCheckboxes() {
   $("input[name='checkgroup']").removeAttr("disabled");
}

如果您不想使用jquery,那么只需更改启用行即可:

document.frmMain.checkgroup[i].disabled = false ;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接