j查询货币转换复选框点击使用谷歌财经 API



我希望我的金额字段使用总金额的转换值进行更新(金额是指从选中的所有复选框中收到的金额总和(。例如,我有以下复选框。

<input type="checkbox" value="10">
<input type="checkbox" value="20">
<input type="checkbox" value="30">

这 10、20 和 30(总共 60(值以美元为单位。我希望它被转换为 INR 并显示在div 中,比如说 <div class="convertedAmount">Rs.0.00</div>.对于转换,我在这里使用谷歌财务API,如下所示。

<?php
$from_Currency = "USD";
$to_Currency = "INR";
$encode_amount = 1;
$get = file_get_contents("https://www.google.com/finance/converter?a=$encode_amount&from=$from_Currency&to=$to_Currency");
$get = explode("<span class=bld>",$get);
$get = explode("</span>",$get[1]);
$converted_currency = preg_replace("/[^0-9.]/", null, $get[0]);
echo $converted_currency;
?>

现在的问题是我希望每次使用 jquery 选中或取消选中复选框时都更新div 值。但是我对jQuery的手很弱,所以我遇到了麻烦。如果得到帮助,我将不胜感激。请帮助我。

为此你需要 ajax。我花了一段时间,但这是您的解决方案。尝试理解它,并询问您是否有任何问题。我还没有做其他两个复选框,一旦你勾选了需要的复选框,就取消选中了,但不难弄清楚。这是我称之为test100的页面.php

<script type="text/javascript" language="javascript" src="jquery.min.js"></script>

<input type="checkbox" class="checkbox" value="10">
<input type="checkbox" class="checkbox" value="20">
<input type="checkbox" class="checkbox" value="30">

<?php
$from_Currency = "USD";
$to_Currency = "INR";
$encode_amount = 1;
$get = file_get_contents("https://www.google.com/finance/converter?a=$encode_amount&from=$from_Currency&to=$to_Currency");
$get = explode("<span class=bld>",$get);
$get = explode("</span>",$get[1]);
$converted_currency = preg_replace("/[^0-9.]/", null, $get[0]);

echo "<div id='result'></br>$converted_currency</div>";
?>
<script type="text/javascript">
$(".checkbox").click(function() {
if($(this).is(":checked"))
{
var rez = $("#result");     
var checkbox_value = $( this ).val();
var dataString = 'checkbox_value=' + checkbox_value;
$.ajax({
type: "POST",
url: "calculation.php",
data: dataString, 
cache: false,
success: function(html)
{
 rez.empty().append(html);
 rez.fadeIn("slow")
 }
 });
 }
 });
 </script>

上帝,我讨厌这个网站上的每一行代码的移动

以下是页面上的计算:

<?php
if($_POST['checkbox_value'])
{
$from_Currency = "USD";
$to_Currency = "INR";
$encode_amount = $_POST['checkbox_value'];
$get = file_get_contents("https://www.google.com/finance/converter?a=$encode_amount&from=$from_Currency&to=$to_Currency");
$get = explode("<span class=bld>",$get);
$get = explode("</span>",$get[1]);
$converted_currency = preg_replace("/[^0-9.]/", null, $get[0]);
echo "<div id='result'></br>$converted_currency</div>";
}
?>

你可以在这里看到它的实际效果:行动:D

发布问题一段时间后,我想出了解决方案。在这里,我只是将转换后的值存储在一个变量inr中,并将其乘以从每个复选框收到的总和值,并以 INR 显示总计。现在,每次选中或取消选中复选框时,它都会分别更新值。

享受下面的解决方案代码。它的速度太快了:D

$(document).ready(function(){
  $('input[type=checkbox]').change(function(){
    var total = 0; var inr = '<?php echo $converted_currency; ?>';
    $('input:checkbox:checked').each(function(){
      total += isNaN(parseInt($(this).val())) ? 0 : parseInt($(this).val());
    });
    $("#costdisplay").html(total);
    $("#inrdisplay").html(total*inr);
    $("input[name=ap_amount]").val(total);
    $("input[name=payment]").val(total);
    $("input[name=amount]").val(total*inr);
  });
});

最新更新