OnChange在PHP中更改变量

时间:2014-03-17 17:35:19

标签: javascript php

我正在做关于PHP在线购物的项目,现在我不得不改变价值 我想将货币转换为其他货币汇率

<select onchange="">
    <option value="60">US</option>
    <option value="88">Euro</option>
    <option value="72">Pond</option>
</select>

因此,当用户更改选项时,它会自动与页面上的所有变量相乘,就像我使用$price来回显欧元价格一样,当用户将其更改为美国时,将乘以$price其他的美国价值为60,等等。

$price = 150

    Price in Euro: <?php echo $price*88; ?>

所以当用户更改值时,它会像这样改变

$price = 150

Price in Dollar: <?php echo $price*60; ?>

2 个答案:

答案 0 :(得分:0)

以下是:the link to the Js Fiddle

您的Html代码:

   <select id ="currency" onchange="convert()">
      <option value="60">US</option>
      <option value="88">Euro</option>
      <option value="72">Pound</option>
    </select>        

    <div class="text_input">
        New Price <input id="txtValue" type="text" />            
    </div>  

Javascript代码:

 function convert() {    
 var price = 150;
 var selectedPrice = document.getElementById('currency');
 var currency = selectedPrice.options[selectedPrice.selectedIndex].text;
 var currencyValue = document.getElementById('currency').value; 

  switch(currency)
  {
    case 'US':
        newPrice = price * currencyValue;
        break;
    case 'Euro':
        newPrice = price * currencyValue;
        break;
    case 'Pound':
        newPrice = price * currencyValue;
        break;        
   }
 //Display the new price to the user
 document.getElementById("txtValue").value = newPrice;
           }

如果你想使用jQuery,你可以从你的html代码中的select输入控件中删除onchange,然后在你的jquery代码中执行以下操作:

 $("#currency").change(function() { 
 var price = 150;
 var selectedPrice = document.getElementById('currency');
 var currency = selectedPrice.options[selectedPrice.selectedIndex].text;
 var currencyValue = document.getElementById('currency').value; 

  switch(currency)
  {
    case 'US':
        newPrice = price * currencyValue;
        break;
    case 'Euro':
        newPrice = price * currencyValue;
        break;
    case 'Pound':
        newPrice = price * currencyValue;
        break;        
   }
 //Display the new price to the user
 document.getElementById("txtValue").value = newPrice;

 });

答案 1 :(得分:0)

这是一个更短的实现。

在您的HTMl中,存储原始价格&#39;和计算出的价格&#39;:

<input type="hidden" id="original_price" value="150" />
Price: <input type="text" id="calculated_price" value="9000" />
<select onchange="updatePrice(this.value)">
    <option value="60">US</option>
    <option value="88">Euro</option>
    <option value="72">Pond</option>
</select>

你的JavaScript看起来像这样:

function updatePrice(val) {
    p = document.getElementById("original_price").value;
    newp = p * val;
    document.getElementById("calculated_price").value = newp;
}

这里是小提琴:http://jsfiddle.net/e89cz/2/