我正在使用CodeCanyon的价格计算器,并且遇到了一些Javascript问题。
第一个字段根据学分数计算学费金额。
第二个字段(我遇到麻烦的地方)应该从第一个字段中选择的学分,除以 3 得到课程数量,然后乘以 100 得出教科书所需的金额。
我尝试过用Javascript和一些ASP来实现这个等式,但没有成功。我不是Javascript专家,但这是目前的代码。任何帮助都非常感谢!
网页标记
"f_4"和"f_7教科书"是以下脚本中命名的变量。f_4是所选的学分小时数。在f_7教科书中,我尝试调用f_4的值,将其除以 3 并将其乘以从数据库发送的值(因此,<%=budgetRS("budget_BooksandSupplies_sem1")%>),该值设置为"100"。
<fieldset>
<p>1 class = 3 credit hours.</p>
<p>
<label>Number of Credit Hours: <input class="spinner" type="text" id="f_4" name="f_4" data-spinner='{"min": 0, "max": 42, "step": 3}' data-default="0" value="3" data-cost="<%=FormatNumber(budgetRS("budget_Tuition_sem1"), 2)%>"/></label>
<span class="staticPrice">
</span>
</p>
<p>
Textbook Estimate ($<%=budgetRS("budget_BooksandSupplies_sem1")%>/3 credit hours):
<input type="hidden" name="f_7-textbooks" value="{f_4}/3*<%=budgetRS("budget_BooksandSupplies_sem1")%>" />
</p>
</fieldset>
爪哇语
<script type="text/javascript">
$(function(){
var form = $('#jquery-order-form');
//form.find('span.staticPrice').remove();
form.find('option').each(function(i){
var opt = $(this)
opt.text(opt.val());
});
var items = [];
items['f_4'] = 'Credit Hours ($<%=budgetRS("budget_Tuition_sem1")%>/credit hour)';
items['f_7-textbooks'] = 'Textbook Estimate ($<%=budgetRS("budget_BooksAndSupplies_sem1")%>/credit hour)';
});
});
</script>
此计算器的完整代码可在 http://media.briercrest.ca/calculators/collegecalculator.asp
您正在尝试在服务器端代码中使用客户端值,该代码无法访问此数据并导致输出。
<input type="hidden" name="f_7-textbooks" value="{f_4}/3*100">
应在客户端代码中仅使用客户端值,反之亦然。
下面的代码应该得到你需要的值。
$('.ui-spinner-button').click(function() { $(this).siblings('input').change(); });
$('#f_4').spinner().change(function() {
var f4Val = $('#f_4').val();
var calcValue = (f4Val/3)*100;
$('input[name="f_7-textbooks"]').val(calcValue);
});
看到这个小提琴