Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计算表单输入,一个由选择框修改_Javascript_Jquery - Fatal编程技术网

Javascript 计算表单输入,一个由选择框修改

Javascript 计算表单输入,一个由选择框修改,javascript,jquery,Javascript,Jquery,我需要根据用户在下表中的输入进行计算。在这里使用jQuery计算插件时:我能够计算出如何执行多少个会话?学生人数乘以前两项每节课的费用。真正让我感到困惑的是最下面的一个,除了用户填写会话数量之外,我还需要他们从选择框中选择学生数量。有什么想法吗 <table> <tr><th>How many sessions?</th><th>Number of Students</th><th>Type of tutorin

我需要根据用户在下表中的输入进行计算。在这里使用jQuery计算插件时:我能够计算出如何执行多少个会话?学生人数乘以前两项每节课的费用。真正让我感到困惑的是最下面的一个,除了用户填写会话数量之外,我还需要他们从选择框中选择学生数量。有什么想法吗

<table>
<tr><th>How many sessions?</th><th>Number of Students</th><th>Type of tutoring</th><th>Cost Per Session</th><th>Total Cost</th></tr>
<tr><td><input type="text" name="qty_academic" size="3" /></td><td id="num_students">1 Student</td><td>Academic Tutoring</td><td id="price_item_1">$55.00</td><td id="total_item_1">$0.00</td></tr>
<tr><td><input type="text" name="qty_multi" size="3" /></td><td id="num_students">1 Student</td><td>ML Tutoring</td><td id="price_item_2">$60.00</td><td id="total_item_2">$0.00</td></tr>
<tr><td><input type="text" name="qty_group" size="3" /></td><td><select name="group_size" id="num_students">
    <option value=""></option>
    <option value="2">2 Students</option>
    <option value="3">3 Students</option>
    <option value="4">4 Students</option>
    </select></td><td>Group Tutoring</td><td id="price_item_3"></td><td id="total_item_3">$0.00</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td colspan="2" align="right"><h3>Grand Total:</h3></td><td id="grandTotal"></td></tr>

这使得对下拉框的更改更新价格。现在,我如何根据下拉框中选择的内容确定价格

在我看来,jQuery应该抱怨这个问题。无论如何,问题的根源实际上是存在多个属性id值相同的元素。这是显示问题的代码摘录:

<td id="num_students">1 Student</td>
<td id="num_students">1 Student</td>

<select name="group_size" id="num_students">
结果元素不是您想要的,而是第一个TD

希望这对进一步的调查和代码重构有所帮助

-更新-

我修正了你的代码,请看一看它是否适合你。如果不让我知道

基本上,我解决了相同值的多个id的问题,并添加了隐藏字段,以便始终有多个学生进行乘法。最后,我在选择框中附加了一个onchange事件


对于小组辅导,动态计算价格也有一些逻辑

按时间顺序放更新,而不是放在最上面,这样很难阅读…哇。哇。我没想到会有其他结果。我用了一个丑陋的黑客只是为了让它工作。我在2个学生旁边做了一个下拉显示,每个选项的值就是这么多学生的成本。通过这种方式,我可以显示该行的总计,但不能显示单位值。我甚至都不满意,但从功能上来说,它是有效的,我有一个最后期限,所以我就放手了。我不得不重新编写一点PHP来弥补这个缺陷,但我还是很高兴。非常感谢。
<td id="num_students">1 Student</td>
<td id="num_students">1 Student</td>

<select name="group_size" id="num_students">
students: $("[id^=num_students]")