如何在不使用JQuery的情况下禁用整个Div内容

时间:2013-03-20 12:20:43

标签: javascript html xhtml

由于我掌握了JavaScript的基本知识,我想做以下操作:

  • 使用两个单选按钮为付款提供两个选项:

    1. 现金
    2. 通过检查
  • 如果用户选择Cash的单选按钮,则也应禁用检查按钮,并且还应禁用Check of Check,其中包括check no和bank name等详细信息。

  • 签证Versa

有没有办法在不使用JQuery的情况下做到这一点? (禁用div并禁用所有内容)

先谢谢你的帮助。

4 个答案:

答案 0 :(得分:5)

试试这个:

document.getElementById("myDivId").disabled = true;

要禁用div中的所有元素,请尝试以下操作:

var allChildNodes = document.getElementById("myDivId").getElementsByTagName('*');

for(var i = 0; i < allChildNodes.length; i++)
{
   allChildNodes[i].disabled = true;
}

答案 1 :(得分:1)

此代码将禁用给定容器中的所有元素。

var container = document.getElementById("cashContainer");
var inputs = document.getElementsByTagName("input").concat(document.getElementsByTagName("select"));
for (var i = 0; i < inputs.length; i++) {
    inputs[i].disabled = true;
}

应用相同的代码,您可以重新启用另一个容器。

答案 2 :(得分:0)

你可以试试这个

<强> HTML

<input type="radio" name="cashcheck" value="cash" checked />Cash<br />
<div id="cash">
    <form method="post">
        <input type="text" name="cashTxt1" />
        <input type="text" name="cashTxt2" />
    </form>
</div>

<input type="radio" name="cashcheck" value="check" />Check<br />
<div id="check">
    <form method="post">
        <input type="text" name="checkTxt1" disabled />
        <input type="text" name="checkTxt2" disabled />
    </form>
</div>

<强> JS

window.onload=function(){
    var radios = document.getElementsByName('cashcheck');
    radios[0].onchange=toggle;
    radios[1].onchange=toggle;
};

function toggle()
{
    if(this.checked)
    {
        var div = document.getElementById(this.value),
        inputs = div.getElementsByTagName('form')[0].getElementsByTagName('*');
        for( var i=0; i<inputs.length; i++)
        {
            inputs[i].removeAttribute('disabled');
        }

        var op = this.value == 'cash' ? 'check' : 'cash',
        divOp = document.getElementById(op),
        divOpInputs = divOp.getElementsByTagName('form')[0].getElementsByTagName('*');
        for( var i=0; i<divOpInputs.length; i++)
        {
            divOpInputs[i].setAttribute('disabled');
        }
    }
}

DEMO.

答案 3 :(得分:0)

<fieldset disabled="true">
  <div>
    <input type="text" />
  </div>
  <br>

  <div>
    <input type="text" />
  </div>
  <br>

  <div>
    <input type="text" />
  </div>
  <br>
</fieldset>