要根据复选框隐藏或显示div,请单击mvc3



在我的视图中,我有一个表,其中每行包含复选框和2列。最初未检查

   <input type="checkbox" name="chkbox" class="a" data-id="@item.Data.CandidatePortfolioID" onclick="Checked()" />
        <div class="cell" id="edit2" style="width:auto;">@Html.DisplayFor(modelItem => item.DataEndDate)</div>
        <div class="cell" id="edit1" style="width:auto; display:none;">
         @Html.TextBox("Enddate", item.DataEndDate, new { @class = "date"})
                </div>

我希望id为"dit1"的div在选中复选框时显示,否则将隐藏该特定行

我怎么能这么做?

$("input[name='chkbox']").on("change", function () {
    $("#edit1").toggle(this.checked);
});

预jQuery 1.7:

$("input[name='chkbox']").change(function () { // or .bind("change", function () {
    $("#edit1").toggle(this.checked);
});

演示

$('input.a').click(function() 
{
    if ($(this).is(':checked'))
    {
         $('div#edit1').hide();
    }
    else
    {
        $('div#edit1').show();
    }
});
$('.a').click(function(){
if ($('.a').is(':checked'))
{
 $('#edit1').css('display','block');
}
else
{
$('#edit1').css('display','none');
}
});​

这是工作演示复选框

$('input[type=checkbox]').click(function(){
if ($(this).is(':checked'))
 {
 $(this).next().next().show();
 }
else
{
$(this).next().next().hide();
}
});​

使用"name"属性使其复选框特定:

$('inpunt[name="chkbox"]').bind('click',function(){ 
if ($(this).is(':checked'))
{
     $('div#edit1').hide();
}
else
{
    $('div#edit1').show();
}
});

首先感谢您的帮助和指导
在我的代码中,我做了以下更改:
在视图代码中

   <div class="cell" style="width:auto;"> <input type="checkbox" name="chkbox" class="a"  data-id="@item.Data.CandidatePortfolioID" onclick="checkbox1(@item.Index)"/> 
</div> 
       <div class="cell" id=**"edit2-@item.Index"** style="width:auto;">@Html.DisplayFor(modelItem => item.EndDate)</div>
        <div class="cell" id=**"edit1-@item.Index"** style="width:auto; display:none;">@Html.TextBox("Enddate", item.EndDate, new { @class = "date" })</div>

JQuery函数

   function checkbox1(index) {
    var divname =index;
    $("#edit1-" + divname).toggle();
    $("#edit2-" + divname).toggle();
} 

最新更新