0
我有一些jQuery代碼來設置我的頁面上的一些複選框。我也有一張桌子。此表不顯示加載頁面時的所有行,因此您必須使用ajax請求加載剩餘的行。問題在於,ajax加載的行中的複選框不會被設置樣式。我想繼承複選框樣式到已經加載了ajax的複選框。加載jQuery代碼時繼承jQuery代碼
我有一些jQuery代碼來設置我的頁面上的一些複選框。我也有一張桌子。此表不顯示加載頁面時的所有行,因此您必須使用ajax請求加載剩餘的行。問題在於,ajax加載的行中的複選框不會被設置樣式。我想繼承複選框樣式到已經加載了ajax的複選框。加載jQuery代碼時繼承jQuery代碼
一旦新的複選框被加載,你將不得不觸發你的jQuery代碼來設置這些複選框的樣式(只有新的複選框)。沒有看到你的代碼或標記是不可能給你一個直接的答案,但是,例如,假設你的jQuery代碼添加了一個類到複選框(大概作爲它的一部分,而不是全部),否則你只需要使用CSS造型)。然後,你只需有一個代碼,一定要留出這些複選框:
var cbsToStyle = $(":checkbox:not(.foo)");
...然後在樣式列表cbsToStyle
。
HTML(明顯不一樣的你,但表示):
<div id='container'>
<label><input type='checkbox'>Original checkbox</label>
<br><label><input type='checkbox'>Original checkbox</label>
<br><label><input type='checkbox'>Original checkbox</label>
</div>
JavaScript的使用jQuery:
jQuery(function($) {
var timer = 0,
counter = 4;
styleCheckboxes();
timer = setInterval(loadCheckboxes, 1000);
function loadCheckboxes() {
var index;
if (--counter < 0) {
// Done
cancelInterval(timer);
timer = 0;
}
else {
// Mimic adding three checkboxes
for (index = 0; index < 3; ++index) {
$("<br><label><input type='checkbox'>Another checkbox</label>").appendTo('#container');
}
// Re-trigger the styling code
styleCheckboxes();
}
}
function styleCheckboxes() {
// Get only those we haven't styled before and style them.
// Note that the class is used as a marker (you might _also_
// use it to apply some style rules)
$(":checkbox:not(.styled)").addClass("styled").css("width", "40px");
}
});
...其中styleCheckboxes
是最相關位。
那很簡單。謝謝! – Emil 2011-01-19 14:09:12