我希望我的金额字段使用总金额的转换值进行更新(金额是指从选中的所有复选框中收到的金额总和(。例如,我有以下复选框。
<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);
});
});