需要删除下一行 select 之后的行突出显示
Need to remove the row highlight after select the next row
我需要在单击下一个 table 行时删除该行突出显示。
当我使用下面的代码时,table 行会在点击齿轮图标中的菜单时突出显示。然后,当我点击另一个 table 行或齿轮图标时,现有的 table 行突出显示不会被删除。任何人都可以向我提供有关如何解决此问题的建议。
click: function () {
label: 'Delete LMD Definition',
icon: 'delete',
$("table tbody").on("click", "tr", function () {
$("tr.selected") // find any selected rows
.not(this) // ignore the one that was clicked
.removeClass("selected"); // remove the selection
$(this).toggleClass("selected"); // toggle the selection clicked row
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="ember18549" class="ember-view content-table focus-group object-table container-view highlighted">
<tbody>
<tr id="ember18784" class="ember-view content-row body-row-view container-view" tabindex="0" aria-label="">
<td id="ember19010" class="ember-view lmdd-menu actions container-view">
<rs-icon id="ember19015" class="ember-view action-menu icon clickable-icon" title="Acciones y Transiciones" style="width: 1em; height: 1em; font-size: 20px">
<icon glyph="action" class="action" style="font-size: 20px;">
</icon>
</rs-icon>
</td>
<td id="ember19021" class="ember-view content-data view view-core_component_data-view-mixin name">
</td>
</tr>
<tr id="ember18784" class="ember-view content-row body-row-view container-view" tabindex="0" aria-label="">
<td id="ember19010" class="ember-view lmdd-menu actions container-view">
<rs-icon id="ember19015" class="ember-view action-menu icon clickable-icon" title="Acciones y Transiciones" style="width: 1em; height: 1em; font-size: 20px">
<icon glyph="action" class="action" style="font-size: 20px;">
</icon>
</rs-icon>
</td>
<td id="ember19021" class="ember-view content-data view view-core_component_data-view-mixin name">
</td>
</tr>
</tbody>
</table>
尝试使用
$("table.content-table").click(function(){
$(this).toggleClass("highlighted");
});
每次点击此 table 时,突出显示的 class 将被添加或删除。
或者下面的代码,这样每个 table 都被取消选中,而您正在点击的那个被选中。
$("table.content-table").click(function(){
$("table.content-table").removeClass("highlighted");
$(this).addClass("highlighted");
});
这是纯粹的 jQuery
,我强烈反对这样做。如果可以,您应该 使用ember。但是因为您已经为此使用了 jQuery
并且没有显示您的 ember 代码,所以这是最容易解决的问题。
只需为州添加一个css class。然后在所有 other 行上使用 removeClass
并在焦点行上使用 addClass
。
$(function() {
$("table.content-table.highlighted tr.content-row").on("focusout", function() {
$('table.content-table.highlighted tr.content-row').removeClass('my-line');
$(this).addClass('my-line');
});
});
.my-line {
background: #FFFF99 none 0 0 repeat;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table class="content-table highlighted">
<tbody>
<tr class="content-row" tabindex="0" aria-label="">
<td>
FOO
</td>
<td>
BAR
</td>
</tr>
<tr class=" content-row" tabindex="0" aria-label="">
<td>
BAZ
</td>
<td>
BAL
</td>
</tr>
</tbody>
</table>
如果您使用 类 和 css 规则,这将非常简单。使用CSS悬停状态高亮,使用clickc到add/remove类选择
$("table tbody").on("click", "tr", function () {
$("tr.selected") // find any selected rows
.not(this) // ignore the one that was clicked
.removeClass("selected"); // remove the selection
$(this).toggleClass("selected"); // toggle the selection clicked row
})
table{
border-collapse: collapse;
}
table tbody td {
border: 1px solid black;
padding: 1em;
}
table tbody tr:hover {
background-color: #CCC;
cursor: pointer;
}
table tbody tr.selected {
background-color: #9999AA;
}
table tbody tr.selected:hover {
background-color: #BBB;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td>1</td><td>Pizza</td>
</tr>
<tr>
<td>2</td><td>Taco</td>
</tr>
<tr>
<td>3</td><td>Burger</td>
</tr>
<tr>
<td>4</td><td>Salad</td>
</tr>
</table>
我需要在单击下一个 table 行时删除该行突出显示。
当我使用下面的代码时,table 行会在点击齿轮图标中的菜单时突出显示。然后,当我点击另一个 table 行或齿轮图标时,现有的 table 行突出显示不会被删除。任何人都可以向我提供有关如何解决此问题的建议。
click: function () {
label: 'Delete LMD Definition',
icon: 'delete',
$("table tbody").on("click", "tr", function () {
$("tr.selected") // find any selected rows
.not(this) // ignore the one that was clicked
.removeClass("selected"); // remove the selection
$(this).toggleClass("selected"); // toggle the selection clicked row
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="ember18549" class="ember-view content-table focus-group object-table container-view highlighted">
<tbody>
<tr id="ember18784" class="ember-view content-row body-row-view container-view" tabindex="0" aria-label="">
<td id="ember19010" class="ember-view lmdd-menu actions container-view">
<rs-icon id="ember19015" class="ember-view action-menu icon clickable-icon" title="Acciones y Transiciones" style="width: 1em; height: 1em; font-size: 20px">
<icon glyph="action" class="action" style="font-size: 20px;">
</icon>
</rs-icon>
</td>
<td id="ember19021" class="ember-view content-data view view-core_component_data-view-mixin name">
</td>
</tr>
<tr id="ember18784" class="ember-view content-row body-row-view container-view" tabindex="0" aria-label="">
<td id="ember19010" class="ember-view lmdd-menu actions container-view">
<rs-icon id="ember19015" class="ember-view action-menu icon clickable-icon" title="Acciones y Transiciones" style="width: 1em; height: 1em; font-size: 20px">
<icon glyph="action" class="action" style="font-size: 20px;">
</icon>
</rs-icon>
</td>
<td id="ember19021" class="ember-view content-data view view-core_component_data-view-mixin name">
</td>
</tr>
</tbody>
</table>
尝试使用
$("table.content-table").click(function(){
$(this).toggleClass("highlighted");
});
每次点击此 table 时,突出显示的 class 将被添加或删除。
或者下面的代码,这样每个 table 都被取消选中,而您正在点击的那个被选中。
$("table.content-table").click(function(){
$("table.content-table").removeClass("highlighted");
$(this).addClass("highlighted");
});
这是纯粹的 jQuery
,我强烈反对这样做。如果可以,您应该 使用ember。但是因为您已经为此使用了 jQuery
并且没有显示您的 ember 代码,所以这是最容易解决的问题。
只需为州添加一个css class。然后在所有 other 行上使用 removeClass
并在焦点行上使用 addClass
。
$(function() {
$("table.content-table.highlighted tr.content-row").on("focusout", function() {
$('table.content-table.highlighted tr.content-row').removeClass('my-line');
$(this).addClass('my-line');
});
});
.my-line {
background: #FFFF99 none 0 0 repeat;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table class="content-table highlighted">
<tbody>
<tr class="content-row" tabindex="0" aria-label="">
<td>
FOO
</td>
<td>
BAR
</td>
</tr>
<tr class=" content-row" tabindex="0" aria-label="">
<td>
BAZ
</td>
<td>
BAL
</td>
</tr>
</tbody>
</table>
如果您使用 类 和 css 规则,这将非常简单。使用CSS悬停状态高亮,使用clickc到add/remove类选择
$("table tbody").on("click", "tr", function () {
$("tr.selected") // find any selected rows
.not(this) // ignore the one that was clicked
.removeClass("selected"); // remove the selection
$(this).toggleClass("selected"); // toggle the selection clicked row
})
table{
border-collapse: collapse;
}
table tbody td {
border: 1px solid black;
padding: 1em;
}
table tbody tr:hover {
background-color: #CCC;
cursor: pointer;
}
table tbody tr.selected {
background-color: #9999AA;
}
table tbody tr.selected:hover {
background-color: #BBB;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td>1</td><td>Pizza</td>
</tr>
<tr>
<td>2</td><td>Taco</td>
</tr>
<tr>
<td>3</td><td>Burger</td>
</tr>
<tr>
<td>4</td><td>Salad</td>
</tr>
</table>