2013-08-07 68 views
0

我有這個問題,我無法解決。部分原因是我無法用正確的術語解釋它。我對此很陌生,所以對於這個笨拙的問題感到抱歉。選中複選框存儲數組元素?

您可以在下面看到我的目標概覽。我在for循環中顯示我的複選框。

在這裏,我正在獲取數組中的所有值,但我希望根據複選框選中存儲數組元素。

<?php 
    $j=0; 
    $arr = Array(); 
foreach($collection as $data) { 
    $mageid=$data['mageproductid']; 
    $products = Mage::getModel('catalog/product')->load($mageid); 
    $productMediaConfig = Mage::getModel('catalog/product_media_config');  
    $checkeven=0; 
     $arr[$j]=$products->getId(); 
     //echo $arr[$j]; 
    $j++; 
} ?> 

我的複選框代碼:

<form id="check_all" action="" method="POST" name="check" > 
<input type="checkbox" class="multid[]" id="<?php echo $products->getId();?>" value="checked" /> </form> 

我有什麼才能得到我的陣列檢查的值呢?我做錯了什麼嗎?

+0

一個複選框只有在選中時纔會發佈 –

+0

是啊@Arun我只想檢查值 – Suresh

+0

多數民衆贊成在$ _POST ['multid'] –

回答

0

submiting表單後,你可以得到檢查產品的陣列$_POST['multid']

+0

謝謝@DeiForm我會試試這個 – Suresh

+0

看我的編輯,你能給我多一點代碼嗎? – Suresh

1

使用的輸入名稱屬性

<input type="checkbox" name="multid[<?php echo $products->getId();?>]" value="checked" /> 

沒有在你的PHP代碼,檢查是否multid [yourProductId]設置和存儲他們如果設置。

<?php 
$j=0; 
$arr = Array(); 
foreach($collection as $data) { 
$mageid=$data['mageproductid']; 
$products = Mage::getModel('catalog/product')->load($mageid); 
$productMediaConfig = Mage::getModel('catalog/product_media_config');  
$checkeven=0; 
$arr[$j]=$products->getId(); 
if(!empty($_GET['multid['.$arr[$j].']'])) 
    its checked, do something. 
//echo $arr[$j]; 
$j++; 
} ?> 
+0

感謝您的回覆我將嘗試這一個...... – Suresh

+0

我會把'$ products-> getId();'放入值中,所以如果複選框被選中,它會輸出ID爲數值的數組而不是鍵 – DeiForm

+0

是的好,但沒有做這個。 – Suresh

0

你能用javascript嗎?試試這個。
HTML:

<input type="hidden" id="hdnCheckedIDs" value="" /> 

之前提交,在提交按鈕的客戶點擊,使用Javascript:

var CheckedIDs = ""; 
for each checkbox 
    if(document.getelementbyid('multid1').checked) 
     CheckedIDs = CheckedIDs + document.getelementbyid('multid1').id; 
document.getelementbyid('checkboxID') = CheckedIDs; 

在PHP中,你可以用這個逗號分隔字符串$_POST['hdnCheckedIDs']得到檢查chekboxes的ID。

相關問題