1

テーブルがあり
ます テーブルの最初の列にはチェックボックスが表示され、2番目の列にはテキストボックスがあります。
チェックボックスの onclick が必要で、その特定の行のテキストボックスで datepicker を有効にする必要があります。これは、各行のすべてのチェックボックスのオンクリックで発生するはずです。

これが私が試したワットです:

//内部ビュー:

@foreach (var item in Model.Select((x, i) => new { Data = x, Index = i + 1 }))
    {
  <div class="cell"> <input type="checkbox" name="chkbox" class="a"  onclick="checkbox1()" data-id="@item.ID" />
        </div>
 <div class="cell" id="edit2">@Html.DisplayFor(modelItem => item.ExhibEndDate)</div>
 <div class="cell" id="edit1">@Html.TextBox("Enddate", item.ExhibEndDate) </div>

//Javascript コード:

function checkbox1() {

    if ($('.a').is(':checked')) {
        $(this).document.getElementById('edit1').style.display = 'block';
        $(this).document.getElementById('edit2').style.display = 'none';           
    }
}

ここでタグの非表示と表示を試みましたが、任意の行のチェックボックスをオンクリックすると、最初の行のテキストボックスでのみ日付ピッカーが有効になります。
これを理解することが本当にできないので、私を助けてください。

4

2 に答える 2

1
@foreach (var item in Model.Select((x, i) => new { Data = x, Index = i + 1 }))
    {
  <div class="cell"> <input type="checkbox" onclick="checkbox(@item.Index)" />
        </div>
 <div class="cell" id="edit-@item.Index">@Html.TextBox("Enddate", item.ExhibEndDate) </div>

JS:

function checkbox(index){
     $(this).document.getElementById('edit-' + index).style.display = 'none';
}

このようなもの。あなたが要点を持っていることを願っています

于 2012-08-24T07:25:37.393 に答える
1

次のような行のコンテナ div を追加できれば

<div class="row">
     <div class="cell"> <input type="checkbox" name="chkbox" class="a"  onclick="checkbox1(this)" data-id="@item.ID" />
    </div>
    <div class="cell datePicker" id="edit2">@Html.DisplayFor(modelItem => item.ExhibEndDate)</div>
    <div class="cell dateTxt" id="edit1">@Html.TextBox("Enddate", item.ExhibEndDate) </div>
</div>

次に、jqueryで次のように記述できます

function checkbox1(chkBox)
{
    $('.datePicker').hide(); 
    $('.dateTxt').show();
    if ($(chkBox).is(':checked')) {
            $(chkBox).parents('.row').children('.datePicker').show();
            $(chkBox).parents('.row').children('.dateTxt').hide();
    }
}

これは魅力のように機能するはずです。同じ ID を持つ要素を選択することはできません。そのため、クエリに使用できるクラス名を追加してください。

于 2012-08-24T10:22:15.260 に答える