0

我有以下代码:

<td>
<div  id="div<%# Eval("Id") %>" class="Display"><%# Eval("Display") %></div>
<div class="Actions">

</div>
    <div class="Comment">
    <span>Comment </span>
    <input id="txt<%# Eval("Id") %>" type="text" width="400px" />
</div>
</td>

我正在寻找的是,当我从

<input id="txt<%# Eval("Id") %>" type="text" width="400px" />

我想在

<div  id="div<%# Eval("Id") %>" class="Display"><%# Eval("Display") %></div>

我怎样才能做到这一点?

我确实遵循了这个(但不确定这是否是最好的方法)

if (e.which == 13) {
                    var comment = $("#" + this.id).val();
                    var textId = "#" + this.id.replace("txt", "div");
                    $(textId).append(comment);
                    $.ajax({
                        type: "POST",
                        url: "Home.aspx/AddComments",
                        data: "{'id': '" + this.id.replace("txt", "") + "','comments': '" + comment + "'}",
                        dataType: "json",
                        contentType: "application/json",
                        success: function (response) {
                            alert(response.d);
                        }
                    });
                }

注意:这是 itemtemplate,所以每个 div 和 input 元素都有不同的 id

4

3 回答 3

0
var  testTextBox = $('#txt<%# Eval("Id") %>');//your input id
var targetbox=$('div<%# Eval("Id") %>');//your second box.
    var code =null;
    testTextBox.keypress(function(e)
    {
        code= (e.keyCode ? e.keyCode : e.which);
        if (code == 13) {//enter key
              $(targetbox).text($(tstTextBox).val());
        }
        e.preventDefault();
    });

您基本上需要触发输入按键事件并将值从框 1 复制到框 2。

于 2012-10-25T07:59:31.723 回答
0
<script>
function enterPress(evt,input) {
if(evt.keyCode==13){

var divHtml=document.getElementById('div<%# Eval("Id") %>').innerHTML;
var inputValue=input.value;
inputValue=inputValue+divHtml;
document.getElementById(input.id).value=inputValue;
}
}
</script>
<input id="txt<%# Eval("Id") %>" type="text" width="400px" onkeypress="enterPress(event,this)"/>
<div  id="div<%# Eval("Id") %>" class="Display"><%# Eval("Display") %></div>
于 2012-10-25T08:00:00.063 回答
0

输入标签的一点修改

<input id="txt<%# Eval("Id")%>" class="<%# Eval("Id") %>" type="text" width="400px" />

然后是所需的 jQuery 代码

    $(function(){
    $(".comment :input").keypress(function(e) {
      if(e.which == 13)
        {
            var idNo =$(this).prop("class");
            var comment = $("#text" + idNo).val();
            $("#div"+idNo).append(comment);
            $.ajax({
                type: "POST",
                url: "Home.aspx/AddComments",
                data: "{'id': '" + idNo + "','comments': '" + comment + "'}",
                dataType: "json",
                contentType: "application/json",
                success: function (response) {

                }
            });
        }
        e.preventDefault();
    });
}); 

希望能帮助到你。

于 2012-10-25T08:53:39.133 回答