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 中,并且由于它需要将许多 div 插入到 tecTagHolder 中,每次用户按下回车键时,我不能使用.html()命令,但附加它甚至不会附加“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 回答