2012-09-25 137 views
-2

我Edit.cshtml -启用或内TD禁用文本框时,选中复选框

<table id="scDetails" class="dataTable"> 
     <thead> 
      <tr> 
       <th>RItem</th> 
       <th>IChecked</th> 
       <th>Notes</th> 
      </tr> 
     </thead> 
     <tbody> 
      @foreach (var fback in Model.Fbacks) 
      { 
       <tr> 
        <td>@Html.HiddenFor(m => fback.FItem) 

         @Html.DisplayFor(m => fback.RItem) 
        </td> 
        <td>@Html.CheckBoxFor(m => fback.IChecked)</td> 
        <td>@Html.TextBoxFor(m => fback.Notes)</td> 
       </tr> 
      } 
     </tbody> 
    </table> 

当表行复选框“IChecked”被选中,文本框“注意事项”应启用,否则禁用。

+0

我试过用这个。 $(“input [type = checkbox] [id * = IsChecked]”)。click(function(){if(this.checked) $(this).closest(“tr”)。find(“input [type = text] [id * = Notes]“)。attr(”disabled“,false); – user1282609

回答

2

如果您正在使用jQuery:

$(function() { 
    $('#scDetails tbody input[type="checkbox"]').click(function() { 
     var notes = $(this).closest('tr .notes'); 
     notes.prop('disabled', $(this).is(':checked')); 
    }); 
}); 

只要给你的文本框中notes类名,这样前面的选择正常工作:

<td>@Html.TextBoxFor(m => fback.Notes, new { @class = "notes" })</td> 

备注:所使用的.prop()功能我示例是在文本框上设置属性(如禁用或只读)的推荐方法。它可以从jQuery 1.6开始。如果您使用的是旧版本的jQuery,则可以使用.attr()方法。

0
<script language="javascript"> 
<!--  
function fnDisabled(trecval) 
    { 
     if(trecval=="2") 
     { 
      document.getElementById('inputname').disabled=true; 
     } 
    } 
</script> 
相关问题