如何使用jquery在同一个“table td”中访问div id

时间:2012-10-25 07:50:26

标签: javascript jquery asp.net

我有以下代码:

<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>

我正在寻找的是,当我从

按EnterKey时
<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

3 个答案:

答案 0 :(得分: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。

答案 1 :(得分: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>

答案 2 :(得分: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();
    });
}); 

希望它有所帮助。