3

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);
            }
        });

どこが間違っていますか?これを実現するために、コントロールでクラスを使用したくありません。

4

1 に答える 1

8

引用符を逃したので、次のようにコードを単純化できます。

$('td input[type="checkbox"]').change(function () {
  $(this).closest('tr').find('input[type="text"]').prop('disabled', !this.checked);
}).change();
于 2012-09-26T02:11:51.213 に答える