使用 onclick 事件的响应绑定文本框 - jquery

Bind textbox with response from onclick event - jquery

我的视图页面中有一个文本框。当我点击 imageIcon 时,它将成功地从 db 和 return 中获取数据。但是,当我尝试将此响应数据绑定到文本框时,它没有正确绑定。我在视图页面中的代码如下:

@foreach (var dateitem in list)
                    {                        
                            <td id="HoursTxt">
                                @Html.TextAreaFor(modelitem => dateitem.Hours, new { id = string.Format("txtHours"), style = "width:50%;height:70%;" }) 
                                @Html.Hidden("CuDate", dateitem.Date)
                                    <img src="~/Images/comment.png" class="prevtest" />
                                <div style="border:solid;display:none;">                                   
                                    <input type="text" id="TxtNotess" />
                                    <input type="button" id="BtnComment" value="Save" />
                                </div>
                            </td>
             }

在我的 imageIcon jquery 的 onclick 事件中如下:

$('.prevtest').on('click', function () {        
        var Cudate = $(this).prev('#CuDate').val();
        var ProjId = parseInt($(this).parents('tr').find('input[type="hidden"]').val());
        var TskId =parseInt($(this).parents('tr').find('td').find('#testTaskId').val());       
        $.ajax({
            type: "POST",
            url: "/Timesheet/GetComments?ProjectId=" + ProjId + "&TaskId= " + TskId + "&date= " + Cudate,
            success : function(data)
            {
                alert(data);
                $('#TxtNotess').val(data);
                alert('success');
            },
            error:function()
            {
                alert('Error');
            }
        });
        $(this).next().toggle();
    });

id 为 TxtNotes 的文本框未与响应值绑定 谁能帮我做这个.. 提前致谢..

首先:元素的 ID 必须是唯一的,因此对文本字段使用 class TxtNotess

<input type="text" class="TxtNotess" />

然后,在成功处理程序中找到带有 class TxtNotess 的文本字段,位于被单击元素的下一个兄弟元素中

$('.prevtest').on('click', function () {
    var Cudate = $(this).prev('#CuDate').val();
    var ProjId = parseInt($(this).parents('tr').find('input[type="hidden"]').val());
    var TskId = parseInt($(this).parents('tr').find('td').find('#testTaskId').val());
    $.ajax({
        type: "POST",
        url: "/Timesheet/GetComments?ProjectId=" + ProjId + "&TaskId= " + TskId + "&date= " + Cudate,
        context: this,//pass a custom context to the ajax handlers - here the clicked element reference
        success: function (data) {
            alert(data);
            $(this).next().find('.TxtNotess').val(data);//find the target textfield
            alert('success');
        },
        error: function () {
            alert('Error');
        }
    });
    $(this).next().toggle();
});
$('.prevtest').on('click', function () {
    var Cudate = $(this).prev('#CuDate').val();
    var ProjId = parseInt($(this).parents('tr').find('input[type="hidden"]').val());
    var TskId = parseInt($(this).parents('tr').find('td').find('#testTaskId').val());
    $.ajax({
        type: "POST",
        url: "/Timesheet/GetComments?ProjectId=" + ProjId + "&TaskId= " + TskId + "&date= " + Cudate,
        context: this,//pass a custom context to the ajax handlers - here the clicked element reference
        success: function (data) {
            alert(data);
            $('.TxtNotess').val(data);//find the target textfield
            alert('success');
        },
        error: function () {
            alert('Error');
        }
    });
    $(this).next().toggle();
});

我通过使用 class 文本框名称得到解决..