1

私は次のコードを持っています:

$('input[id$="txtTecnicas"]').bind('keypress', function (e) {
            //if user presses enter
            if (e.keyCode == 13) {
                //cancel asp.net postback
                e.preventDefault();

                //if value of textbox is not empty
                if ($(this).val() != "") {

                    //Save value into valueTec
                    var valueTec = $(this).val();
                    //Clear textbox value
                    $(this).val("");
                    //Create tag div to insert into div
                    var texthtml = '<span class="tag" title="' + valueTec + '">' + valueTec + ' <a>x</a><input type="hidden" value="1" name="tags"></span>';

                    //Append the new div inside tecTagHolder div
                    $('[id$="tecTagHolder"]').append(texthtml);
                }
            }
        });

ただし、コードをtecTagHolder divに挿入しているわけではなく、tecTagHolderに多くのdivを挿入する必要があるため、ユーザーがEnterキーを押すたびに、.html()コマンドを使用できませんが、appendを使用すると、「Hello」文字列も追加されません。何が間違っているのでしょうか?どうもありがとう!

4

2 に答える 2

2

次のようにtecTagを選択してみませんか。

$("#<%=tecTagHolder.ClientID %>").append(texthtml);
于 2013-03-12T23:47:06.717 に答える
1

次のようなものを使用できます。

$('[id$="tecTagHolder"]').html( $('[id$="tecTagHolder"]').html() + texthtml );

ただし、次のようにその要素を生成することをお勧めします。

var span = $('<span></span>').addClass('tag').attr('title', valueTec).text(valueTec);
var a = $('<a></a>').text('x');
.. and so on

次に、次のように要素を作成します。

span.append(a).append(input);

次に、スパンを$('[id $ = "tecTagHolder"]')に追加できます。

それが役立つかどうか教えてください:)

于 2013-03-12T23:52:10.923 に答える