0

submit.cshtml的是:

<table id="scDetails" class="table">
    <thead>
        <tr>
            <th>Item</th>
            <th>IsChecked</th>
            <th>Comment</th>
        </tr>
    </thead>
    <tbody>
        @Html.EditorFor(m => m.Fbacks)
    </tbody>
</table>

EditorTemplate 用于 - @Html.EditorFor(m => m.Fbacks)(Fbacks.cshtml)

<tr>
  <td>@Html.HiddenFor(m => m.Item)
    @Html.DisplayFor(m => m.Item)
  </td>
  <td>@Html.CheckBoxFor(m => m.IsChecked)</td>
  <td>@Html.TextBoxFor(m => m.Comment)</td>
</tr>

我需要的是:

当我选中复选框时,应该启用文本框,取消选中时,应该禁用文本框。

4

3 回答 3

2
$("input[type='checkbox']").on("click", function() {
    $(this).parent().next().find("textarea").prop("disabled", ! this.checked);
});
于 2012-09-25T07:40:03.160 回答
1
$('input[type=checkbox]').on('click', function() {
    var isChecked = $(this).is(':checked');

    $(this).parent().next().find('input[type="text"]').attr('disabled', !isChecked);
}); 

// OR

$('input[type=checkbox]').on('click', function() {
        var isChecked = $(this).is(':checked');

        $(this).parent().parent().find('input[type="text"]').attr('disabled', !isChecked);
    }); 
于 2012-09-25T07:37:48.450 回答
1

您应该将事件添加到复选框

$('#Fbacks').click (function ()
{
     var thisCheck = $(this);
     if (thischeck.is (':checked'))
     {
       $('#Comment').prop('disabled', true);
     }else{
       $('#Comment').prop('disabled', false);
     }
});

在这种情况下@Html.EditorFor(m => m.Fbacks) id = 'Fbacks'

于 2012-09-25T07:38:51.833 回答