2013-08-07 2 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

a checkbox проголосовать только в том случае, если его проверили –

+0

Yeah @Arun Я хочу только отмеченные значения – Suresh

+0

thats in $ _POST ['multid'] –

ответ

0

После завершения заполнения формы вы можете получить массив проверяемых продуктов с $_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();' в значение, поэтому, если флажок установлен, он будет выводить массив с идентификаторами как значения не как ключи – DeiForm

+0

Да, хорошо, но ничего не делает. – Suresh

0

Вы можете использовать javascript? Попробуй это.
HTML:

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

Перед представить на кнопку Submit КЛИЕНТСКОЕ щелчок, 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.

Смежные вопросы