Включить скрипт jquery или изменить значение переменной в цикле while? - PullRequest
0 голосов
/ 05 июня 2019

При попытке вызвать переменную 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...