使用jQuery $('<button>')语法动态创建的按钮为空</button>

时间:2011-10-26 11:27:23

标签: jquery asp.net jquery-selectors

当我点击带有.canActivate课程的按钮时,它会将我带到指定的div并显示按钮。但是,如果我单击后退并单击相同的按钮(或具有相同类别的其他按钮),它只显示一个空按钮。问题是什么?

我有以下代码:

$('.canActivate').live('vclick', function (event) {
    $('#lblServiceName').text($(this).html());
    $('#lblServiceId').text($(this).attr('data-serviceId'));
    $('#lblServiceSubId').text($(this).attr('data-serviceSubId'));
    $('#lblServicePrice').text($(this).attr('data-price'));

    $('#wrapperServiceButtonDiv').empty();
    $('<button type="button" id="btnActivateService" value="Activate" />').appendTo('#wrapperServiceButtonDiv');

    $.mobile.changePage('#serviceDetailsDiv', 'slide', true, true);
});

1 个答案:

答案 0 :(得分:1)

首先,您的活动看起来不对劲。你有:

$('.canActivate').live('vclick', function (event) {

我确定你的意思是:

$('.canActivate').live('click', function (event) {

通过空按钮,我假设你的意思是没有文字。那是因为你用一行创建了一个空按钮:

<button type="button" id="btnActivateService" value="Activate" />

如果您需要标签,请使用:

<button type="button" id="btnActivateService" value="Activate">Click me</button>

由于你没有发布你的HTML,我看不出为什么它在第一次点击时起作用。

此外,您可以通过将按钮添加到空白来保存查找:

$('#wrapperServiceButtonDiv').empty().append(
    '<button type="button" id="btnActivateService" value="Activate">Click Me</button>');