禁用Div内容使用jquery基于复选框值

时间:2014-12-07 10:29:58

标签: c# jquery model-view-controller

您正在使用c#

开发mvc项目

目前正在研究员工系统模型

我在下面设计了这样的视图

 @Html.CheckBoxFor("value", new {data_divToDisable="SSLCSection",@class="SelectSection" })
                  <div id="SSLCSection" class="DisableDiv">
<table>
//Conntent goes here
</table>
</div>


@Html.CheckBoxFor("value", new {data_divToDisable="PUCSection",@class="SelectSection" })
                  <div id="PUCSection" class="DisableDiv">
<table>
//Conntent goes here

</table>
</div>

@Html.CheckBoxFor("value", new {data_divToDisable="GraduationSection",@class="SelectSection" })
                  <div id="GraduationSection" class="DisableDiv">
<table>
//Conntent goes here

</table>
</div>
@Html.CheckBoxFor("value", new {data_divToDisable="PostGraduationSection",@class="SelectSection" })
                  <div id="PostGraduationSection" class="DisableDiv">
<table>
//Conntent goes here

</table>
</div>

这里我需要在根据复选框值

加载视图时禁用部分

如果选中复选框,则无需禁用该部分,否则将禁用

我写过像这样的jquery

 $(document).ready(function () {
     $(".SelectSection").attr('checked', false,function(){
            var id = $(this).find(".DisableDiv");
            alert(id);
           $(this).find(".DisableDiv").find('input, textarea, select,table').each(function () {
                $(this).prop('disabled', true);
            });
        });

这对我们没有做任何事情

请帮助,您的帮助将受到高度赞赏

请注意我使用data-Attribute来简化jquery,每次加载页面时都必须根据复选框值禁用部分(提示:如果复选框值为false,则必须禁用)

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作,原谅伪代码。

<强> HTML

<input class="SelectSection" type="checkbox" >hello1</input>

<div id="SSLCSection" class="DisableDiv" >
     <input type="input">Test</input>
    <textarea>Test1</textarea>
</div>


    <br>
<input class="SelectSection" type="checkbox">hello2</input>
<div id="PUCSection" class="DisableDiv" >
     <input type="input">Test2</input>
    <textarea>Test12</textarea>
</div>


<br>
<input class="SelectSection" type="checkbox" checked>hello3</input>
<div id="PostGraduationSection" class="DisableDiv" >
     <input type="input">Test3</input>
    <textarea>Test3</textarea>
</div>

<强>的jQuery

$(document).ready(function () {
$(".SelectSection[type='checkbox']").each(function (i, o) {
    if ($(o).is(":checked")) {

        $(o).next('div').find('input,textarea').each(function (i, o) {
            $(o).prop('disabled', true);
        });

    }
});
})

以上假设相关复选框后面的下一个元素是有问题的div,其中包含需要禁用的元素。