Я думаю, я знаю, почему у меня проблема, но я недостаточно знаю о jquery, чтобы ее исправить.
Я подключаюсь к базе данных для получения списка продуктов, и если их несколькос тем же itemid я вызываю функцию javascript.Это та же функция, но я добавил несколько битов, чтобы сделать ее уникальной, чтобы я мог получить правильные цены и т. Д., Но эта переменная / массив javascript всегда одна и та же, и я думаю, что она перезаписывает ранее объявленную переменную.
Ссылка на мою страницу: http://www.operationbraveheart.org.uk/jcart/testshop.php
Я думаю, что это связано с этой строкой или это может быть связано с тем, что многие переменные перезаписываются?
var price = item_prices_by_size[size].Price,
У меня былТеория, что если я увеличу имя переменной так, вместо var form , я получу var form1
Вот моя функция jquery
<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>