以编程方式创建的按钮无法通过jQuery UI进行样式设置

时间:2013-01-31 14:34:30

标签: jquery-ui button styling

我在$ .ajax调用的success()函数中向表中添加行,并且行中有一些提交输入。这是创建行的代码:

$.each(data, function(index,element) {
    $('table#tblBranchCoverage tbody').delay(300).append('<tr class="coverageRow">' +
        '<td class="deleteCounty">' +
            '<input type="checkbox" class="chkDeleteCounty" name="deleteCounties[]" value="' + element['id'] + '" />' +
        '</td>' +
        '<td class="countyCovered">' + 
            '<label class="branchCountyCovered coverageDisplay">' + element['branchCountyCovered'] + '</label>' +
            '<input type="text" class="edit editBox editCounty" value="' + element['branchCountyCovered'] + '" /><br />' + 
            '<input type="submit" class="edit button submitCoverageEdits" value="Save Changes" /><br />' +
            '<input type="submit" class="edit button cancelCoverageEdits" value="Cancel" />' +
            '<input type="hidden" id="branchCoverageID" value="' + element['id'] + '" />' +
        '</td>' +
        ...

页面的其余部分的输入由UI主题设置样式,但动态创建的表行中的按钮不是。

我尝试使用

$( ".submitCoverageEdits" ).button( "refresh" );
来自UI按钮文档。我没有在文档中看到可能适用于我的情况的任何其他内容。

将该行放在ajax调用成功的范围内会阻止创建整个表。将ajax函数调用后强行调整完全没有“破解”创建表格,但按钮也没有设置样式。

如何将UI样式应用于表格行中创建的按钮?

1 个答案:

答案 0 :(得分:0)

在AJAX成功处理程序中追加一行调用$('#tblBranchCoverage tr:last').button( "refresh" );