只有一排上課highlightRowSelected
一次,該行的複選框被選中 - 這是工作如何檢查和取消選中複選框,以及如何使複選框,點擊了該行的點擊
如何使其他複選框取消不具有highlightRowSelected
類以及其他行復選框ES可以勾選,但不應該添加highlightRowSelected
類到該行,只有一行單擊(而不是從複選框COL)應該在類highlightRowSelected
添加到該行
可以更改函數聲明並進行純js調用,而不是在html中指定getdetails(row)。 也行是動態的,所以着的硬編碼ID或東西在HTML
看看這個小提琴:https://jsfiddle.net/y7jqb5hp/13/
function getdetails(row) {
el = window.event.srcElement;
if (el.id.substr(0, 7) == 'eachRow')
el = null;
if (row.cells[0].children[0].checked == false && el != null) {
row.cells[0].children[0].checked = true;
} else if (row.cells[0].children[0].checked == false && el != null) {
row.cells[0].children[0].checked = true;
}
$("#tableID tbody tr").each(function() {
$(this).removeClass("highlightRowSelected");
});
$(row).addClass("highlightRowSelected");
}
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}
td,
th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
.highlightRowSelected {
background-color: #e2e2e2;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tableID">
<tr onclick="getdetails(this)">
<th>checkbox</th>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr onclick="getdetails(this)">
<td><input name="eachRow" type="checkbox" /> </td>
<td>Alfreds </td>
<td>Maria </td>
<td>Germany</td>
</tr>
<tr onclick="getdetails(this)">
<td><input name="eachRow" type="checkbox" /> </td>
<td>Centro </td>
<td>Francisco </td>
<td>Mexico</td>
</tr>
<tr onclick="getdetails(this)">
<td><input name="eachRow" type="checkbox" /> </td>
<td>Ernst </td>
<td>Roland </td>
<td>Austria</td>
</table>
您的代碼似乎是在做你需要什麼了。該複選框在點擊行時被選中,只有最後點擊的行被高亮顯示。如果這不是你想要的,請給出一個更清楚的問題描述和你想要的行爲 –
編輯描述 – tripathy
你應該使用單選按鈕,而不是複選框... – Rayon