3

私は現在、オープンカートフレームワークで働いています。その 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 値を for ループの外側の変数に代入しています。ここで、このスクリプトのコーディング...

    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日間苦労しています..これに対する他の代替ソリューション....私を案内してください...

4

1 に答える 1

3

私はこれに対する解決策を得ました....これに従ってください。他の人にとってより便利です...私はphpとjava-scriptで結論付けました...

 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;";

     }
     }
    ?>

ありがとう...

于 2013-03-21T14:09:47.007 に答える