При попытке вызвать переменную php в качестве идентификатора span, переменная изменяется со значением $ i в выражении for.Я использую оператор for
для вызова ряда продуктов из базы данных, никаких проблем там нет.Однако при попытке запустить jquery для каждого продукта, чтобы показать цены, отображается только первый.У меня есть JsFiddle с небольшим примером кода, который я должен показать цены.http://jsfiddle.net/c6pso94f/. Должен ли я попробовать цикл include-once
per while и запустить скрипт как booking.js
?
Я попытался использовать следующее:
echo "<span id='$priceblock'> </span>";
var priceblock1 = <?php echo $priceblock; ?>;
$('#'+ priceblock1).text('R ' + total +'/day');
в коде ниже:
У меня также есть 2 выбранных входа и 4 флажка для каждого элемента, который я создал переменную вдоль линий$mySelect = "mySelect"."i";
, так что значение изменяется с каждым увеличенным значением $ i, но это не работает, так как значение одинаково для обоих выбранных входов.поэтому я сделал другой просто $mySelect1 = "mySelect1"."$i";
.Я оставил полный скрипт на Pastebin: https://pastebin.com/HQX3jJKd
echo "<span>100kms:</span>";
echo "<span id='$priceblock1'> </span>";
echo "<span>200kms:</span>";
echo "<span id='$priceblock2'> </span>";
echo "<input type='hidden' name='stocknr' value='$stock'>";
echo "<input type='hidden' name='pricef1' value=''>";
echo "<input type='hidden' name='pricef2' value=''>";
// Script that adds values together
<script>
$(document).ready(function(){
$('input[name="ch3"]').click(function() {
$('input[name="ch3"]').not(this).prop('checked', false);
});
});
function displayVals() {
calcUsage();
var singleValues = $("#mySelect").val();
$("#pricef1").val(singleValues);
}
var $cbs = $('input[id="qr1"]');
function calcUsage() {
var total = $("#mySelect").val();
$cbs.each(function() {
if (this.checked)
total = parseInt(total) + parseInt(this.value);
});
var priceblock1 = <?php echo $priceblock1; ?>;
$('#' + priceblock1).text('R ' + total +'/day');
}
function displayVals1() {
calcUsage1();
var singleValues1 = $("#mySelect1").val();
$("#pricef2").val(singleValues1);
}
var $cbs1 = $('input[id="qr1"]');
function calcUsage1() {
var total1 = $("#mySelect1").val();
$cbs1.each(function() {
if (this.checked)
total1 = parseInt(total1) + parseInt(this.value);
});
var priceblock2 = <?php echo $priceblock2; ?>;
$('#'+priceblock2).text('R ' + total1 +'/day');
}
$("#mySelect").change(displayVals);
displayVals();
$("#mySelect1").change(displayVals1);
displayVals1();
//For checkboxes
$cbs.click(calcUsage);
$cbs1.click(calcUsage1);
</script>
Я пытаюсь, чтобы каждый показывал цену, когда она меняется от опций, флажков, но он показывает только первый, когдая использовал id="100kms"
и id="200kms"
соответственно.я изменил это так $priceblock
это $priceblock1 = $priceblock1 + $i