获取由HTML表中的chk Box检查的各自值

时间:2011-04-22 12:37:19

标签: javascript asp.net html javascript-events html-table

因为我有生成的HTML表(Asp.net表) 新的我在检查相应的复选框时需要Cell One的值..

假设第二个复选框是单击我需要第二行的值 例如。如果点击第2个月,我需要值553.5000

使用JAVA SCRIP。

以及相同的总数..

总检查值..

enter image description here

<table border="2" id="ctl00_ctl00_B_A_ucStudentRegistration1_TblTotalPay">
                            <tbody><tr>
                                <td class="caption">Total Amount</td><td class="caption">Paid Fees</td>
                            </tr><tr style="border-width: 3px; border-style: solid;">
                                <td>5889.2400</td><td><span disabled="disabled"><input type="checkbox" onclick="javascript:toggleCheckBoxes(this);" disabled="disabled" checked="checked" name="ctl00$ctl00$B$A$ucStudentRegistration1$chkMonth1" id="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth1"><label for="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth1">Month1</label></span></td>
                            </tr><tr>
                                <td>553.5000</td><td><input type="checkbox" onclick="javascript:toggleCheckBoxes(this);" name="ctl00$ctl00$B$A$ucStudentRegistration1$chkMonth2" id="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth2"><label for="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth2">Month2</label></td>
                            </tr><tr>
                                <td>885.6000</td><td><input type="checkbox" onclick="javascript:toggleCheckBoxes(this);" name="ctl00$ctl00$B$A$ucStudentRegistration1$chkMonth3" id="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth3"><label for="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth3">Month3</label></td>
                            </tr><tr>
                                <td>553.5000</td><td><input type="checkbox" onclick="javascript:toggleCheckBoxes(this);" name="ctl00$ctl00$B$A$ucStudentRegistration1$chkMonth4" id="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth4"><label for="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth4">Month4</label></td>
                            </tr><tr>
                                <td>553.5000</td><td><input type="checkbox" onclick="javascript:toggleCheckBoxes(this);" name="ctl00$ctl00$B$A$ucStudentRegistration1$chkMonth5" id="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth5"><label for="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth5">Month5</label></td>
                            </tr><tr>
                                <td>553.5000</td><td><input type="checkbox" onclick="javascript:toggleCheckBoxes(this);" name="ctl00$ctl00$B$A$ucStudentRegistration1$chkMonth6" id="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth6"><label for="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth6">Month6</label></td>
                            </tr><tr>
                                <td>553.5000</td><td><input type="checkbox" onclick="javascript:toggleCheckBoxes(this);" name="ctl00$ctl00$B$A$ucStudentRegistration1$chkMonth7" id="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth7"><label for="ctl00_ctl00_B_A_ucStudentRegistration1_chkMonth7">Month7</label></td>
                            </tr>
                        </tbody></table>

1 个答案:

答案 0 :(得分:0)

你的问题没有透露你真正追求的是什么,也没有提供dev-friendly example,但我们还是试试,不管吗?

查看 Working Demo (打开控制台)。

这是为方便起见的JS

$('.TotalPay input[type=checkbox]').change(function(){
    var amount = $(this).parent().siblings().text();
    console.log(amount);
});

使用JavaScript,我们可以将事件处理程序绑定到标记外部的DOM元素,从而使HTML保持干净和语义。 onXXXXX属性可能有效,但您应该真正阅读Unobtrusive JS

在我的例子中,我选择了jQuery,它极大地简化了DOM遍历等繁琐的任务。基本上,这是这个代码片段的作用:

  1. 通过CSS选择器
  2. 获取相关复选框
  3. 将匿名处理程序附加到他们的“更改”事件中。
  4. 在其中,遍历复选框的'uncle'并将其文本存储在amount变量中
  5. P.S。请为您的元素使用语义类名。 .net搞砸了你的ID,因此IMO更加依赖于类。 此外,“jQuery很棒,首先学习JavaScript”™。