我遇到了无法解决的问题。部分是因为我无法用正确的术语来解释它。我是新手,对这个笨拙的问题感到抱歉。
您可以在下面看到我的目标概述。我在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 :(得分: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++;
} ?>
答案 1 :(得分:0)
提交表单后,您可以使用$_POST['multid']
答案 2 :(得分: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']
来获取已检查的chekbox的ID。