2013-03-21 4 views
3

Я работаю в Open Cart frame work. В этой Open Cart присутствуют динамические формы. В этой динамической форме, поэтому сценарий также динамический, мне приходится вычислять, когда данные формы изменяются. во время этого я получаю некоторую проблему. Я получаю выберите значение параметров в окне динамически ....Как соединить значения из строки в значение в переменной?

foreach ($options as $option) { $initiates_f=$initiates_f+1; ?>  
     <?php if ($option['type'] == 'select'){ ?> 

      var a_<?php echo $initiates_f;?>= document.getElementById("option[<?php echo $option['product_option_id']; ?>]").value; 
      var spl_<?php echo $initiates_f;?> = a_<?php echo $initiates_f;?>.split("_"); 
      var cr_<?php echo $initiates_f;?> = spl_<?php echo $initiates_f;?>[1]; 
      var operator3_<?php echo $initiates_f;?> = cr_<?php echo $initiates_f;?>.split("["); 
      var symbol<?php echo $initiates_f;?> = operator3_<?php echo $initiates_f;?>[0]; 
      var dtt_<?php echo $initiates_f;?> = operator3_<?php echo $initiates_f;?>[1]; 
      var myarr_<?php echo $initiates_f;?>  = dtt_<?php echo $initiates_f;?>.split("$"); 
      var symbol_st_<?php echo $initiates_f;?> = myarr_<?php echo $initiates_f;?>[1]; 
      var split_value_<?php echo $initiates_f;?> = myarr_<?php echo $initiates_f;?>[1]; 
      var final_value_<?php echo $initiates_f;?> =symbol_st_<?php echo $initiates_f;?>.split("."); 
      var Final_price<?php echo $initiates_f;?> =final_value_<?php echo $initiates_f;?>[0]; 


    <?php } } ?> 

дальше, я назначаю это значение Final_price в некоторых переменные вне для loop.Here этого сценария кодирования ...

var total_amount=0; 
        for(var i=1; i<=j; i++) 
        {alert('test'); 

          final_prices=("Final_price"+i).value; 
          alert(final_prices); 
alert(symbol_prices.value);*/ 
          if(isNumber(final_prices)){ 
           alert("number"); 
           /*if(symbol_prices =='+') { 
             alert("plus"); 
           var total_amount+=parseInt(original_prices)+parseInt(final_prices); 
           calculated_price_element.innerHTML=total_amount; 
           alert(total_amount); 
          } else if(symbol_prices =='-') { 
            alert("minus"); 
           var total_amount+=parseInt(original_prices)-parseInt(final_prices); 
           calculated_price_element.innerHTML=total_amount; 
            alert(total_amount); 
          }*/ 
        //alert('test'); 

        } 

       } 

В что кодирование final_prices=("Final_price"+i).value; не возвращает значение из этой назначенной переменной. Как получить это значение .. разрешите его. Я боюсь в течение 2 дней .. любые другие альтернативные решения для этого .... пожалуйста, помогите мне ...

+3

Javascript работает на стороне клиента (в данном случае) - поэтому нам нужно увидеть обработанный скрипт, а не теги '. – ahren

+3

Я бы рекомендовал использовать для этого массив или объект. –

ответ

3

У меня есть решения для этого .... пожалуйста, следуйте этим его более полезным для других ... я заключил с PHP и Java-скрипт ...

foreach ($options as $option) { $initiates_f=$initiates_f+1; ?> 
     <?php if ($option['type'] == 'select'){ ?> 

      var a_<?php echo $initiates_f;?>= document.getElementById("option[<?php echo $option['product_option_id']; ?>]").value; 
      var spl_<?php echo $initiates_f;?> = a_<?php echo $initiates_f;?>.split("_"); 
      var cr_<?php echo $initiates_f;?> = spl_<?php echo $initiates_f;?>[1]; 
      var operator3_<?php echo $initiates_f;?> = cr_<?php echo $initiates_f;?>.split("["); 
      var symbol<?php echo $initiates_f;?> = operator3_<?php echo $initiates_f;?>[0]; 
      var dtt_<?php echo $initiates_f;?> = operator3_<?php echo $initiates_f;?>[1]; 
      var myarr_<?php echo $initiates_f;?>  = dtt_<?php echo $initiates_f;?>.split("$"); 
      var symbol_st_<?php echo $initiates_f;?> = myarr_<?php echo $initiates_f;?>[1]; 
      var split_value_<?php echo $initiates_f;?> = myarr_<?php echo $initiates_f;?>[1]; 
      var final_value_<?php echo $initiates_f;?> =symbol_st_<?php echo $initiates_f;?>.split("."); 
      var Final_price<?php echo $initiates_f;?> =final_value_<?php echo $initiates_f;?>[0]; 


    <?php } } 

    echo 'var final_prices=0;'; 

     $initiates_f=0; 
     foreach ($options as $option) { $initiates_f=$initiates_f+1; 
     if ($option['type'] == 'select') 
    { 
    echo 'final_prices=parseInt(Final_price'.$initiates_f.');'; 
     echo "total_amount+=parseInt(final_prices); 
        // alert(total_amount); 
       calculated_price_element.innerHTML=total_amount;"; 

    } 
    } 
    ?> 

Спасибо и ...