我有一个带有表单的网页。取决于顶部的用户选择
页面,页面将禁用表单的部分。我的计划是放
<div></div>
之间的每个部分。每个部分都包含一些集合
形式元素。
因此,如果用户没有选择某些标准,则相关部分 表单被禁用。在典型的Windows类型的应用程序中这些元素 得到残疾和灰色。在网页中执行此操作的最佳方法是什么? Javascript可以确定div部分中的表单元素和 例如,通过循环禁用这些元素?我知道我可以禁用 每个元素,如果我知道它,但有一种方法来找出所有的ID 某些div部分的元素?
是否有可能在c#?
中基于标志变量在页面加载事件中变灰答案 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
。