DIV禁用或灰显

时间:2009-12-24 06:40:04

标签: asp.net

我有一个带有表单的网页。取决于顶部的用户选择 页面,页面将禁用表单的部分。我的计划是放 <div></div>之间的每个部分。每个部分都包含一些集合 形式元素。

因此,如果用户没有选择某些标准,则相关部分 表单被禁用。在典型的Windows类型的应用程序中这些元素 得到残疾和灰色。在网页中执行此操作的最佳方法是什么? Javascript可以确定div部分中的表单元素和 例如,通过循环禁用这些元素?我知道我可以禁用 每个元素,如果我知道它,但有一种方法来找出所有的ID 某些div部分的元素?

是否有可能在c#?

中基于标志变量在页面加载事件中变灰

4 个答案:

答案 0 :(得分:6)

使用jQuery你可以这样做:

$("div.myDiv :input").attr("disabled", "disabled");

“:input”表示每个输入元素。 “div.myDiv”表示具有类名“myDiv”的div。它在这种情况下作为上下文。因此,本质上会发生的是,此特定div中的所有输入元素都将被禁用。

相反:

$("div.myDiv :input").removeAttr("disabled");

答案 1 :(得分:1)

给你的div元素一个id,然后在其中包含所有标签并将disabled属性应用于它们。

var elem = document.getElementById ( "div1").getElementsByTagName ( "*");
for ( var i=0; i < elem.length; i ++ )
{
    elem[i].disabled = true;
}

要启用控件,请将disabled属性设置为false。

答案 2 :(得分:1)

使用Jquery过滤掉DIV中的所有输入元素,然后应用“已禁用”属性。

    $(document).ready(function(){
        $("#myDiv > *:input").attr("disabled","disabled");
    });

上面的代码段首先选择您的DIV #myDiv ,然后选择此DIV的所有元素并过滤所有输入元素,最后应用'disabled'属性他们。

答案 3 :(得分:0)

大多数<input>都有一个禁用的属性,可以通过javascript说明是真的。正如你所提到的,你可以抓住div的子节点,如果type不在你想要禁用的表单元素上,只需设置disabled = true