我在下面编写的代码非常适合将我的销售税计算结果显示在span标记中。但是,我不理解如何将“总”值更改为我可以使用的变量。
<script type="text/javascript">
function doStateTax(){
var grandtotalX = $('#GRANDtotalprice').val();
var statetaxX = $('#ddl').val();
$.post('statetax.php',
{statetaxX:statetaxX, grandtotalX:grandtotalX},
function(data) {
data = $.parseJSON(data);
$('.products-placeholder').html(data.products);
$('.statetax-placeholder').html(data.statetax);
$('.total-placeholder').html(data.total);
// ...
});
return false;
};
</script>
目前,$('。total-placeholder')。html(data.total);成功将总数放入此处:
<span class="total-placeholder"></span>
但是如何让(data.total)部分成为变量呢?通过帮助解决这个问题,我可以将该变量作为“值”传递给隐藏的输入字段,并成功地为Authorize.net提供合适的总数
我试过这个并且id不起作用(请参阅testtotal部分以了解我正在尝试完成的任务)..
function(data) {
data = $.parseJSON(data);
$('.products-placeholder').html(data.products);
$('.statetax-placeholder').html(data.statetax);
$('.total-placeholder').html(data.total);
$testtotal = (data.total);
// ...
答案 0 :(得分:1)
如果您在表单中使用隐藏字段,则可以执行以下操作:
//inside $.post -> success handler.
$('.total-placeholder').html(data.total);
$('input[name=yourHiddenFieldName]', yourForm).val(data.total);
现在将与通常的提交一起提交。或者,如果您想访问其他地方的数据:
var dataValue = $('input[name=yourHiddenFieldName]', yourForm).val();
答案 1 :(得分:0)
如果您希望在函数范围之外识别'testotal',则需要在函数外部定义它,然后您可以在其他地方使用它:
var $testtotal;
function(data) {
data = $.parseJSON(data);
$('.products-placeholder').html(data.products);
$('.statetax-placeholder').html(data.statetax);
$('.total-placeholder').html(data.total);
$testtotal = (data.total);
修改强>:
评论变得太长,所以我会在这里尝试解释:
PHP无法访问javascript中定义的变量,反之亦然,PHP知道你的javascript变量的唯一方法就是在HTTP请求中传递该变量(常规或ajax)。
因此,如果你想将$testtotal
变量传递给php,你需要发出ajax请求(或普通的旧HTTP请求)并将变量发送到php脚本然后使用$_GET/$_POST
来检索它
希望能回答你的问题,如果没有,请编辑你的问题,以便更清楚。
答案 2 :(得分:0)
在您成功通话后,您呼叫的“数据”对象可以在范围内的任何位置使用。像这样:
$.post('statetax.php',
{statetaxX:statetaxX, grandtotalX:grandtotalX},
function(data) {
data = $.parseJSON(data);
var total = data.total;
var tax = data.total * 0.19;
});
return false;
};
每当你得到一个对象时,总是试着看一下alert()或console.log()它是什么。
alert(data); // This would return <object> or <undefined> or <a_value> etc.
之后尝试深入研究(当不是“未定义”时)。
alert(data.total); // <a_value>?