2012-09-16 55 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