私はなぜ私の問題を抱えているのか知っていると思うが、それを修正するにはjqueryについて十分に分かっていない。jquery increment var name(varsが上書きされていると思う)
私はデータベースに接続して製品のリストを表示しています。同じitemidを持つ複数のアイテムがある場合は、javascript関数を呼び出します。それは同じ関数ですが、私はそれをユニークにするために私は正しい価格などを得ることができるいくつかのビットを追加しましたが、この1つのjavascript変数/配列は常に同じで、私はそれが以前に宣言varを上書きしていると思います。
私のページへのリンクがhttp://www.operationbraveheart.org.uk/jcart/testshop.php
である私は、この行をどうするのですか、それはoverwittenなっVARSの多くをどうするかもしれないと思いますか?
var price = item_prices_by_size[size].Price,
は、私は私がVARNAMEので代わりののvarフォームをインクリメントした場合、私はするvar Form1]を得るという理論を持っていた。ここ
は、私はちょうど持っていた
<script type="text/javascript">
var item_prices_by_size = <?php
$blah=1;
echo '{ ';
foreach($subitem AS $subsubitem) {
if($subsubitem['size'] != 'X-Large') {
echo '"'.$subsubitem['size'].'": { "Price": "'.$subsubitem['price'].'", "ItemId": "'.$subsubitem['itemid'].'-'.$blah.'" },';
}
else {
echo '"'.$subsubitem['size'].'": { "Price": "'.$subsubitem['price'].'", "ItemId": "'.$subsubitem['itemid'].'-'.$blah.'" }';
}
$blah++;
}
echo'};';
?>
$(function() {
$('#foo<?php echo $subitem[0]["prodid"] ?>').change(function() {
var form = $(this).parents('form');
// Size is whatever the value the user has selected
var size = $(this).val();
// Determine the correct price and item ID based on the selected size
var price = item_prices_by_size[size].Price,
itemId = item_prices_by_size[size].ItemId;
form.find('#price<?php echo $subitem[0]['prodid'] ?>').text(price);
form.find('[name=my-item-price]').val(price);
// Update the item ID
form.find('[name=my-item-id]').val(itemId);
});
});
</script>
接続後にこのJSを出力しようとしていますか、クライアント側でPHP変数を使用できると思われますか?中間の人(ajax)なしでサーバーサイド変数を使用できると思えば、おそらく問題の出発点です。 – scrappedcola