2014-02-09 258 views
0

我試圖通過Chrome開發者工具,將檢查網頁上的所有複選框,並觸發onclick活動頁面上的所有複選框的觸發事件onclick觸發onclick事件的JavaScript

這裏是頁面上的樣品複選框:

<input type="checkbox" onclick="ctl00_ContentAreaHolder1_uctlLocationSelectionControl_AccountStructureTreeView.HandleCheck(this,'p_686660',4);" name="checker_p_686660"> 

這裏是我的代碼來檢查網頁上的所有複選框:

(function() { 
    var aa= document.getElementsByTagName("input"); 
    for (var i =0; i < aa.length; i++){ 
     if (aa[i].type == 'checkbox') 
      aa[i].checked = true; 
    } 
})() 

我想不通的唯一的事情是如何觸發複選框被選中時,onclick事件。任何幫助表示讚賞!

+0

你看着辦吧? – Codel

回答

1

你可能想這樣做:

$('input[type="checkbox"]').each(function(){ 
    $(this).trigger('click'); 
    // Will check all the checkbox and trigger the event 
}); 

或者乾脆:

$('input[type="checkbox"]').each(function(){ 
    $(this).click(); 
    // Will check all the checkbox and trigger the event 
}); 

,或者你可以做到這一點,使用代碼:

(function() { 
    var aa= document.getElementsByTagName("input"); 
    for (var i =0; i < aa.length; i++){ 
     if (aa[i].type == 'checkbox') 
      aa[i].click() 
    } 
})()  
+0

以'var aa = document.getElementsByTagName'開頭的代碼適用於我。但是,我需要更多的幫助!在運行此代碼後檢查所有複選框之後,將出現另一組複選框,這些複選框也需要使用REMAINING選中的第一組複選框進行檢查。所以我在代碼中添加了條件if(aa [i] .type =='checkbox'&&!aa [i] .checked)'。但是,當我運行這個時,頁面似乎凍結,它不檢查新的複選框。有什麼我做錯了嗎?謝謝您的幫助! – three3

0

爲了檢查所有複選框:

$("input[type=checkbox]").each(function() { 
      $(this).prop("checked", true); 
     }); 

對於觸發檢查所有:

$("input[type=checkbox]").each(function() { 
      $(this).trigger('click'); 
     }); 
0

嘗試這種解決方案

<input type="checkbox" name="checker_p_686660"> 

jQuery代碼

$('input').on('change', function(){ 

    if($(this).prop('checked', true)){ 
     alert('checked'); 
    } 

}) 

工作實例: http://jsfiddle.net/2p64P/1/