1 回答
TA贡献1876条经验 获得超5个赞
如果给定位置的值相同,您可以比较items数组和数组值,只需将类添加到您的ie 中:并且您可以在排序再次开始时删除添加的这些类。itsortli$("#" + value).addClass("ui-state-correct")
演示代码:
$(function() {
$("#sortable").sortable({
scroll: false,
placeholder: "ui-state-highlight",
start: function(event, ui) {
//remove class whenever sortable start again
$("#sortable li").removeClass("ui-state-correct")
}
});
$("#sortable").disableSelection();
});
function checkOrd() {
var items = $('#sortable li').map(function() {
return $.trim($(this).attr('id'));
}).get();
var itsort = $('#sortable li').map(function() {
return $.trim($(this).attr('id'));
}).get();
itsort.sort();
//loop through array
$(items).each(function(index, value) {
//check if both array have same at given position
if (value == itsort[index]) {
//add class there
$("#" + value).addClass("ui-state-correct")
}
})
if (JSON.stringify(items) == JSON.stringify(itsort)) {
console.log('good!');
$(".check").text("good");
} else {
console.log('wrong!');
$(".check").text("wrong");
}
};
.ui-state-correct {
color: green;
}
<head>
<script src="https://code.jquery.com/jquery-3.4.1.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<ul id="sortable">
<li id="dd01" class="ui-state-default">1.</li>
<li id="dd02" class="ui-state-default">2.</li>
<li id="dd03" class="ui-state-default">3.</li>
<li id="dd04" class="ui-state-default">4.</li>
<li id="dd05" class="ui-state-default">5.</li>
<li id="dd06" class="ui-state-default">6.</li>
<li id="dd07" class="ui-state-default">7.</li>
</ul>
<p class="check">
</p>
<button onclick="checkOrd();">check</button>
添加回答
举报