購物車的產品紀錄有特殊編碼,在 PHP 的架構下要形成如下列的格式
$cart[0]['2-1-3'] = 4;
$cart[1]['2-1-7'] = 3;
單純用 Session 跟 PHP 做沒有問題
// 這樣就可以形成上面的結構
$_SESSION['cart']["'".$_POST['item']."'"] = $_POST['qty'];
但我想用 JavaScript POST 一樣的格式去用 Ajax 撈取東西發生了問題
$cart.push({$num: $qty}); 這一段 POST 出去會變成 $cart[0][$item] = 6;
然後我用手打 $cart.push({'2-1-1': 6});
POST 出去會變成 $cart[0][2-1-1] = 6;
該怎樣做才會送出 $cart[0]['2-1-1'] = 6; 這樣的格式呢
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script>
$(function() {
var $cart = [];
$('.cartTr').each(function() {
var $num = $(this).find('[name="number"]').val(),
$qty = $(this).find('[name="qty"]').val();
$cart.push({$num: $qty});
});
console.log($cart);
});
</script>
<table>
<tr class="cartTr">
<td><input name="number" type="text" value="2-1-1" size="6" /></td>
<td><input name="qty" type="text" value="3" size="6" /></td>
</tr>
<tr class="cartTr">
<td><input name="number" type="text" value="2-1-3" size="6" /></td>
<td><input name="qty" type="text" value="5" size="6" /></td>
</tr>
</table>
<pre class="c" name="code">$cart.push({"$num": $qty});
試試看。