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 に答える