使用jQueryUI sortable我可以在表格中拖放行。 我想在拖动时更改行的样式。
互联网上的选项如下:
start: function(event, ui) {
$(ui.item).css({
'border': '1px solid #F95658',
'background-color': '#bbb'
});
},
然而,这不允许我设置单元格的边框或背景颜色。
占位符也是如此。
有没有办法设计这些风格?
$("table tbody").sortable({
axis: 'y',
placeholder: "ui-sortable-placeholder",
revert: true,
helper: fixHelper,
start: function(event, ui) {
$(ui.item).css({
'border': '1px solid #F95658',
'background-color': '#bbb'
});
},
stop: function(event, ui) {
$(ui.item).css({
//'background-color': '#fff'
});
}
}).disableSelection();
var fixHelper = function(e, ui) {
ui.children().each(function() {
$(this).width($(this).width());
});
return ui;
};
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 500px;
margin: 50px 0 0 50px;
}
td,
th {
border: 1px solid #cacaca;
text-align: left;
padding: 8px;
background-color: #f5f5f5;
}
th {
background-color: #dce0e3;
}
.ui-sortable-placeholder {
background-color: #fff;
outline: 0px dashed black;
padding: 0px 0px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/ui-lightness/jquery-ui.css" rel="stylesheet" />
<table>
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tbody>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Centro comercial</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr>
<td>Ernst Handel</td>
<td>Roland Mendel</td>
<td>Austria</td>
</tr>
<tr>
<td>Island Trading</td>
<td>Helen Bennett</td>
<td>UK</td>
</tr>
<tr>
<td>Laughing Bacchus </td>
<td>Yoshi Tannamuri</td>
<td>Canada</td>
</tr>
<tr>
<td>Magazzini Alimentari </td>
<td>Giovanni Rovelli</td>
<td>Italy</td>
</tr>
</tbody>
</table>
答案 0 :(得分:0)
把它放到TD
$(ui.item).find('td').css({
'border': '1px solid #F95658',
'background-color': '#bbb'
});
之后
$(ui.item).css({
'border': '1px solid #F95658',
'background-color': '#bbb'
});