-2

私の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.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」がチェックされている場合、テキストボックス「メモ」が有効になっている必要があり、それ以外の場合は無効になっています。

4

2 に答える 2

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()メソッドを使用できます。

于 2012-09-25T11:18:21.837 に答える
0
<script language="javascript">
<!--    
function fnDisabled(trecval)
    {
        if(trecval=="2")
        {
            document.getElementById('inputname').disabled=true;
        }
    }
</script>
于 2012-09-25T11:14:54.073 に答える