2017-08-29 40 views
0

我的網頁中有多個複選框。每個複選框運行一個名爲「增加」的JavaScript函數。當您手動點擊該框時,這將起作用。複選框未完成功能html javascript

我有另一種類型的複選框,它檢查該div中的所有複選框,但是當它被選中時,它不會在它檢查的複選框上運行函數「增加」。

有誰知道爲什麼?

檢查所有在DIV功能:

<script type="text/javascript" language="javascript"> 
function checkCheckboxes(id, pID){ 
$('#'+pID).find(':checkbox').each(function(){ 
jQuery(this).prop('checked', $('#' + id).is(':checked')); 
}); 
} 
</script> 

再添功能:

<script type="text/javascript" language="javascript"> 
function adds(id) { 

var value = $(id).val() 

    jQuery.ajax({ 
     url: "selection_update.php", 
     data: {"value": value}, 
     type: "POST", 
     dataType: 'json', 
      success:function(responce){ 
      $("#check").html(responce); 
     } 
    }); 
} 
</script> 

我呼籲通過這個增加的功能:

<input class="mycheckbox" type="checkbox" value="$table3[Test_ID]" onchange="adds('#tccb$j')" id="tccb$j" unchecked> 

,並通過調用checkall功能:

<input class="mycheckbox" type="checkbox" onclick="checkCheckboxes(this.id, 'collapse$count');" id="mcb$count" unchecked/> 

回答

3

只需更改'checked'屬性不會觸發事件。您還需要使用.trigger("change").change()

你的重點線看起來就像這樣......

jQuery(this).prop('checked', $('#' + id).is(':checked')).change(); 
+0

這篇作品足夠好,可以接受的答案?還是因爲你的低信譽評分而無法接受? –