2010-01-18 119 views
3

我使用Jquery和加載函數將一組複選框加載到一個div中。我的代碼是檢查從JQuery加載的複選框

$("#cb-list").load('www.someurl.com'); 

其中www.someurl.com返回一堆複選框的html,例如,

<input type="checkbox" value="sddfdsf" name="cb[]" id="a1" /> 
<input type="checkbox" value="sddfdsf" name="cb[]" id="b2" /> 

我想通過已返回的複選框,然後檢查基於參數(我想這樣做,加載的複選框,並沒有正在被加載的頁面在頁面上)他們中的一些。

我會如何去使用jQuery?因此,例如,我可能會有3個複選框以ID a1,b2,c3返回,我想檢查b2和c3。我通常會這樣做

$("#b2").attr("checked") = 'checked'; 
$("#c3").attr("checked") = 'checked'; 

但這不起作用,我假設這是因爲複選框正在從外部鏈接加載。

感謝

回答

4

假設你的AJAX調用返回你上面貼的HTML字符串,那麼你就需要該字符串加載到一個jQuery變量:

//put html into a string 
var myCheckboxes = $("#cb-list").load('www.someurl.com'); 
/*... possibly perform some validations here ... */ 
var $myCheckboxes = $(myCheckboxes); 

然後設置爲單獨檢查:

$myCheckboxes.filter("#b2").attr('checked', true); 
$myCheckboxes.filter("#c3").attr('checked', true); 

或設置所有使用.each()

$myCheckboxes.each(function(){ 
    $(this).attr('checked', true); 
}); 

我想,那麼你會希望將其追加的東西。在這裏,我們追加到一個DIV與id ='MyDiv'

$myCheckboxes.appendTo("#MyDiv"); 
3

應該$("#b2").attr('checked', true);

+0

我試過,但它仍然無法正常工作,還是要謝謝你 – John

+0

以及展示我們的代碼,甚至更好的提供了一個在線測試情況 – antpaw