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>

为了在我的数组中获取检查值,我必须做什么?我做错什么了吗?

4

3 回答 3

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++;
} ?>
于 2013-08-07T06:13:59.897 回答
0

提交表格后,您可以获得一系列已检查的产品$_POST['multid']

于 2013-08-07T06:04:23.837 回答
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']来获取选中复选框的 ID。

于 2013-08-07T06:31:27.290 回答