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>

私が探しているのは、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 要素と入力要素は異なる 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();
    });

基本的に、Enter キーを押すイベントを発生させ、値をボックス 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 に答える