1

我正在使用 CodeCanyon 的价格计算器,并且遇到了一些 Javascript 问题。

第一个字段根据学分计算学费金额。

第二个字段(我遇到问题的地方)应该从第一个字段中选择学分,除以 3 得到课程数量,然后乘以 100 得到所需的金额为教科书。

我曾尝试使用 Javascript 和一些 ASP 来实现这个等式,但没有成功。我不是 Javascript 专家,但这里是目前的代码。任何帮助深表感谢!

HTML 标记

“f_4”和“f_7-textbooks”是在下面的脚本中命名的变量。f_4 是选择的学时数。在 f_7-textbook 中,我尝试调用 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>

Javascript

<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获得

4

1 回答 1

1

您正在尝试在服务器端代码中使用客户端值,该值无法访问此数据并导致输出。

<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);
});

看到这个小提琴

于 2012-05-25T14:35:43.450 回答