Tas*_*min 1 javascript jquery click onclick
我有一个名为name和attendance两列的表,这是一个单选按钮,我想实现每当我点击一行时,我得到该行的名称和出勤的值.问题是每当我点击一行时,事件就会触发两次,并显示两次名称.我在下面添加了代码
<table class="col-md-12 text-center">
<tr>
<th class="text-center">Name</th>
<th class="text-center">Attendance</th>
</tr>
<tr class="" data-id='1'>
<td>Md. Khairul Basar</td>
<td class="form-inline table_attendance">
<div class="form-check form-check-radio">
<label class="form-check-label">
<input class="form-check-input" type="radio" name="exampleRadio"
id="exampleRadios1" value="option1">
<span class="form-check-sign"></span>
Present
</label>
</div>
<div class="form-check form-check-radio">
<label class="form-check-label">
<input class="form-check-input" type="radio" name="exampleRadio"
id="exampleRadios2" value="option2" checked>
<span class="form-check-sign"></span>
Absent
</label>
</div>
</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
以下是jQuery代码.
<script>
$(document).ready(function () {
$(".table_attendance").on('click', function () {
var attendance = {
name: $(this).closest("tr").find("td:nth-child(1)").text()
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我已经按照与此问题相关的其他答案添加了他们的解决方案,例如添加.off("click")和
e.preventDefault();
e.stopImmediatePropagation();
Run Code Online (Sandbox Code Playgroud)
但这些都不起作用,而且使用.preventDefault()是禁用单选按钮中的选中选项.请帮我解释一下代码.
更新点击事件,如下所示:
$(".table_attendance").on('click', 'input', function(e) {
Run Code Online (Sandbox Code Playgroud)
您可以在下面尝试:
$(document).ready(function() {
$(".table_attendance").on('click', 'input', function(e) {
var attendance = {
name: $(this).closest("tr").find("td:nth-child(1)").text()
};
console.log(attendance);
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table class="col-md-12 text-center">
<tr>
<th class="text-center">Name</th>
<th class="text-center">Attendance</th>
</tr>
<tr class="" data-id='1'>
<td>Md. Khairul Basar</td>
<td class="form-inline table_attendance">
<div class="form-check form-check-radio">
<label class="form-check-label">
<input class="form-check-input" type="radio" name="exampleRadio"
id="exampleRadios1" value="option1">
<span class="form-check-sign"></span>
Present
</label>
</div>
<div class="form-check form-check-radio">
<label class="form-check-label">
<input class="form-check-input" type="radio" name="exampleRadio"
id="exampleRadios2" value="option2" checked>
<span class="form-check-sign"></span>
Absent
</label>
</div>
</td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)