2

在我看来,我有一个表格,其中每行包含复选框和 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='edit1' 的 div,否则对于该特定行隐藏它

我该怎么做?

4

5 回答 5

3
$("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);
});

演示。

于 2012-08-23T12:13:24.700 回答
0
$('input.a').click(function() 
{
    if ($(this).is(':checked'))
    {
         $('div#edit1').hide();
    }
    else
    {
        $('div#edit1').show();
    }
});
于 2012-08-23T12:13:46.303 回答
0

使用“名称”属性使其特定于复选框:

$('inpunt[name="chkbox"]').bind('click',function(){ 
if ($(this).is(':checked'))
{
     $('div#edit1').hide();
}
else
{
    $('div#edit1').show();
}
});
于 2012-08-24T11:39:51.560 回答
0

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

   <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();
} 
于 2012-08-27T06:46:10.650 回答
0
$('.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();
}
});​
于 2012-08-23T12:20:28.270 回答