2012-09-26 138 views
2

我正在使用jQuery。如何在复选框选中时启用或禁用表格内的文本框。 这是我的edit.cshtml。启用禁用复选框选中时的文本框

<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.DisplayFor(m => fback.RItem)</td> 
         <td>@Html.CheckBoxFor(m => fback.IChecked)</td> 
         <td>@Html.TextBoxFor(m => fback.Notes)</td> 
        </tr> 
       } 
      </tbody> 
     </table> 

我曾尝试是:

$('td :checkbox').change(function() { 
      var parentTx = $(this).closest('tr').find(input[type = "text"]); 
      if (this.checked) { 
       parentTx.attr("disabled",false); 
      } else { 
       parentTx.attr("disabled", true); 
      } 
     }); 

哪里做错了吗?我不想在控件上使用任何类来实现此目的。

回答

6

你错过了引号,你可以简单地你的代码:

$('td input[type="checkbox"]').change(function() { 
    $(this).closest('tr').find('input[type="text"]').prop('disabled', !this.checked); 
}).change(); 
+1

@undefined好听点,改为使用'[TYPE = “...”]'选择。 – xdazz

+0

谢谢。它正在工作,但在页面呈现时默认情况下,未选中复选框,应禁用这些文本框。我怎样才能得到这个工作。请。 – user1282609

+1

@ user1282609绑定后触发更改事件,检查我的更新。 – xdazz

相关问题