Shuffle.js 通过原型和addEventListener使用复选框进行反向排序,部分工作代码笔



我在Demo.prototype.handleSortChange中添加了这个,以在检查单选时反转排序顺序。。。

var order = true;
function reverseOrder() {
if (document.getElementById('order').checked) {
order = true;
} else {          
order = false;
}
console.log('reverseOrder: '+order);
}
reverseOrder();

我想不通的是,当您选中或取消选中单选输入时,调用排序功能,而无需重新选择排序顺序下拉列表。

Demo.prototype.reverseSorting = function () {
// this call resets the sort order to default, rather than just reversing the selected order...
document.getElementById('order').addEventListener('click', this._handleSortChange.bind(this));
};

Codepenhttps://codepen.io/midaspider/pen/ZEBwBqw

解决了它。我认为问题出在错误的部分,解决方案真的很简单。

Demo.prototype._handleSortChange = function (event) {
//var value = event.target.value;
var value = document.querySelector('.sort-options').value;

我意识到,如果我单击复选框,选择输入的值不会被传递,所以我更改了var值,以明确地从选择输入中获取值,而不是从事件中获取传递的值。现在它工作了,我已经更新了Codepen以供参考,以防其他人需要它。

最新更新