Fah*_*had 1 javascript checkbox jquery jquery-selectors
选中复选框时需要突出显示整行,并在取消选中时删除突出显示.我当前的代码只突出显示复选框单元格而不是整行.救命!
JSP:
<tbody>
<c:forEach items="${summary}" var="summary">
<tr>
<td bgcolor='<c:out value="${summary.color}"></c:out>'><c:out
value="${summary.eventDesc}" />
</td>
<td bgcolor='<c:out value="${summary.color}"></c:out>'><a
href="/analysis/loadAnalysisDetailFromSummary?labelNbr=${summary.labelNbr}&loadDate=${summary.loadDate}"><c:out
value="${summary.labelNbr}" /> </a>
</td>
<td bgcolor='<c:out value="${summary.color}"></c:out>'><c:out
value="${summary.origin}" />
</td>
<td bgcolor='<c:out value="${summary.color}"></c:out>'><c:out
value="${summary.senderName}" />
</td>
<td bgcolor='<c:out value="${summary.color}"></c:out>'><c:out
value="${summary.receiverName}" />
</td>
<td bgcolor='<c:out value="${summary.color}"></c:out>'><c:out
value="${summary.receiptDate}" />
</td>
<td bgcolor='<c:out value="${summary.color}"></c:out>'><c:out
value="${summary.loadDate}" />
</td>
<td bgcolor='<c:out value="${summary.color}"></c:out>'><c:out
value="${summary.forecastIsc}" />
</td>
<td bgcolor='<c:out value="${summary.color}"></c:out>'><c:out
value="${summary.actualIsc}" />
</td>
<td bgcolor='<c:out value="${summary.color}"></c:out>'><c:out
value="${summary.country}" />
</td>
<td id="td1" bgcolor='<c:out value="${summary.color}"></c:out>'><c:out
value="${summary.source}" />
</td>
<c:if test="${isAll == 'false'}">
<td align='center' bgcolor='<c:out value="${summary.color}"></c:out>'>
<input name='summaryCheckbox' type="checkbox" class="cbx"
value='<c:out value="${summary.labelNbr}"></c:out>,<c:out
value="${summary.loadDate}"></c:out>,
<c:out value="${summary.eventInd}"></c:out>'>
</td>
</c:if>
</tr>
</c:forEach>
</tbody>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$(document).ready(function(){
$("input[type='checkbox']").change(function(e) {
if($(this).is(":checked")){
$(this).closest('td').addClass("highlight");
}
else{
$(this).closest('td').removeClass("highlight");
}
});
});
Run Code Online (Sandbox Code Playgroud)
CSS:
table{border: 1px solid;}
.highlight{background: #C0C0C0;}
Run Code Online (Sandbox Code Playgroud)
使用 .closest('tr')
$(document).ready(function(){
$("input[type='checkbox']").change(function(e) {
if($(this).is(":checked")){
$(this).closest('tr').addClass("highlight");
}else{
$(this).closest('tr').removeClass("highlight");
}
});
});
Run Code Online (Sandbox Code Playgroud)
$(function(){
$("input[type='checkbox']").on('change', function() {
$(this).closest('tr').toggleClass("highlight", this.checked);
});
});
Run Code Online (Sandbox Code Playgroud)
这里的问题是当你把它切换 closest("td")到closest("tr")它正在工作[它设置类],但CSS是错误的.您需要将背景颜色添加到单元格而不是行.
你的CSS
table{border: 1px solid;}
.highlight{background: #C0C0C0;}
Run Code Online (Sandbox Code Playgroud)
需要是
table{border: 1px solid;}
.highlight td {background: #C0C0C0;}
Run Code Online (Sandbox Code Playgroud)
突出显示后注意TD.
| 归档时间: |
|
| 查看次数: |
5624 次 |
| 最近记录: |