2011-10-04 167 views
0

的兩個不同的列我有一個選擇的複選框的兩列所有複選框在每一列的底部。我希望首先選中所有複選框來檢查一列中的所有內容,然後再選中所有複選框以在第二列中打勾。創建兩個選擇所有複選框複選框

請看下面的例子 - http://www.dtrmedical.com/test-site/index.php?id=3&productid=118

第一選擇所有複選框工作正常(它蜱報價柱內的一切)。我無法讓第二個人與它一起工作。它應該在樣本列中勾選/取消全部。

任何人都可以幫忙嗎?

這是產品複選框:

<td valign="middle" align="center" style="background-color:#C3DCCD;"><input style="margin-top:5px;" type="checkbox" name="products-quote" value="echo $product_option['product_code']; ?>" /></td> 
<td valign="middle" align="center" style="background-color:#D3C4DF;"><input style="margin-top:5px;" type="checkbox" name="products-sample" value="echo $product_option['product_code']; ?>" /></td> 

這是JavaScript做的第一選擇所有:

<script language="JavaScript"> 
function toggle(source) { 
    checkboxes = document.getElementsByName('products-quote'); 
    for(var i in checkboxes) 
    checkboxes[i].checked = source.checked; 
} 
</script> 

而這些選擇所有的複選框:

<td valign="middle" align="center" style="background-color:#efefef;"><input style="margin-top:5px;" type="checkbox" onClick="toggle(this)" name="products-quote" value="echo $product_option['product_code']; ?>" /></td> 
<td valign="middle" align="center" style="background-color:#efefef;"><input style="margin-top:5px;" type="checkbox" name="products-sample" value="echo $product_option['product_code']; ?>" /></td> 
+0

您是否已經檢查過代碼中有關'value'的缺陷,正如我在下面的回答中所述? –

回答

1

好吧,看起來你的每個「全選」複選框與複選框的其餘部分具有相同的名稱屬性ñ其列,所以相當小的變化得到它的工作就是用你已經有一個小的改動使用功能:

非但沒有複選框用硬編碼的名稱獲得的那些與與點擊元素名稱相同。然後你的「全選」複選框可以說onClick="toggle(this)"來調用相同的功能。

+0

謝謝,這很好。 (我會盡快接受!) – Rob

0

我會推薦給所有要檢查同一類,然後只需使用jQuery的複選框(我看見它已經經過了示例頁面上使用),檢查/取消選中你需要的一切。

//on check all checkbox 
if(this.checked){ 
    $(".myCheckboxes").attr("checked", true); 
}else{ 
    $(".myCheckboxes").attr("checked", false); 
}