0

チェックボックスの値とテキストフィールドを1つの変数に結合しようとしているので、エコーアウトすると正しいフィールド値が表示されます。

チェックボックスの投稿と数量テキストフィールドの投稿を組み合わせたいのですが、forloopを使用している項目がいくつかあるのですが、両方の値を1つに組み合わせて、その項目で新しいテーブル行を作成することはできないようです。左側に名前、右側に数量。

<tr>
   <td>
      <input type="checkbox" name="check[]" value="<?php echo get_post_meta($post->ID, '_stitle', true); ?>" />
   </td>

   <td>
      <input id="quantity" name="check[quantity]" type="text" maxlength="3" /><br />
   </td>

  $data = $_POST['check'];
        foreach ($data as $value) {
        $item .= '<tr style="background: #eee;">
                <td>Item: </td>
                <td>'.$value.'</td>
            </tr>';
        }
4

1 に答える 1

1

おそらく変更する必要があります:

<input id="quantity" name="check[quantity]" type="text" maxlength="3" /><br />

に:

<input id="quantity" name="check[quantity][]" type="text" maxlength="3" /><br />

チェックボックスをスカラーしますが、テキストフィールドはスカラーしません。

また、配列キーは各チェックボックスと入力フィールドで同じになるため、2つのフィールドをforに関連付ける方がおそらく簡単です。

例:

for($i=0;$i<=sizeof($_POST['check'])-2;$i++){
    $item .= '<tr style="background: #eee;">
            <td>Item: '.$_POST['check'][$i].'</td>
            <td>'.$_POST['check']['quantity'][$i].'</td>
        </tr>';
}

また、sizeof$_POSTの-2に注意してください。0から数えているので、終了点をそれに等しく設定するには、数量キーとオフセットの両方を減算する必要があります。

于 2012-06-08T18:23:18.333 に答える