2012-09-16 56 views
1

我做了一个AJAX调用,以JSON的形式取回一些数据,并且在访问数据时没有问题。由于我得到一个对象数组,我遍历它们并操纵我的DOM。下面的代码显示了这个迭代:当动态添加到DOM时,jQuery buttonset无法正常工作

for (var key in data){ 
    reg_count++ ; 
    attendee_markup += '<tr><td>' + data[key].student_num + '- ' + data[key].fname + ' ' + data[key].lname ; 
    attendee_markup += '<td style="text-align: center;"><div class="ui-buttonset">' ; 
    attendee_markup += '<input type="radio" id="ws' + data[key].reg_id + '-yes" name="' + data[key].reg_id + '" class="ui-helper-hidden-accessible" value="yes"><label for="ws' + data[key].reg_id + '-yes" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left" role="button"><span class="ui-button-text">Yes</span></label>' ; 
    attendee_markup += '<input type="radio" id="ws' + data[key].reg_id + '-no" name="' + data[key].reg_id + '" class="ui-helper-hidden-accessible" value="no"><label for="ws' + data[key].reg_id + '-no" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-right" role="button"><span class="ui-button-text">No</span></label>' ; 
    attendee_markup += '</div></td></tr>' ; 
} 

要initalize我打电话$('.ui-buttonset').buttonset();

的buttonsets我使用“attendee_markup”和我的字符串,我后来追加到DOM。除了按钮组以外,一切都很好。它们显示为按钮组,但点击它们时没有任何反应。我在Chrome控制台中也看不到任何错误。

+0

打消了我的答案,因为它不是帮助的。不得不在早上想一个新鲜的。 – Tom

回答

1

在你的第三行代码末尾有一个缺失的</td>。这可能是你的逻辑搞乱了。所有你需要做的是改变

attendee_markup += '<tr><td>' + data[key].student_num + '- ' + data[key].fname + ' ' + data[key].lname ; 

attendee_markup += '<tr><td>' + data[key].student_num + '- ' + data[key].fname + ' ' + data[key].lname + '</td>'; 
                              ^^^^^ 
+0

这绝对是一个错误,但即使没有这一点,事实证明,浏览器正在添加关闭。它似乎也没有任何影响按钮设置。 – karancan