我有一个无法解决的问题。部分原因是我无法用正确的术语来解释。我是新手,很抱歉问了这个笨拙的问题。
下面你可以看到我的目标概述。我在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>
为了在数组中获得检查值,我必须做什么?我做错什么了吗?
使用输入名称属性
<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++;
} ?>
提交表单后,您可以获得带有$_POST['multid']
的检查产品阵列
你能使用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。