我尝试使用List.js
按单选按钮进行过滤List.js工作正常,但我无法弄清楚如何使用单选按钮使其工作。请协助。
这是小提琴: Jfiddle
这是javascript部分:
var dap_list = new List('dap_list', {
valueNames: ['waste_name', 'client_name', 'created_by', 'timestamp', 'dap_status'],
page: 8,
plugins: [
ListPagination({})
]
});
$('#search_radio').change(function() {
var selection = this.value;
// filter items in the list
dap_list.filter(function(item) {
if (item.values().search_radio == selection) {
return true;
} else {
return false;
}
});
});
答案 0 :(得分:0)
你的小提琴犯了三个小错误。
dap_status
上过滤您的项目,而不是search_radio
。所以,有了这些知识,我们得到:
$(':radio[name=search_radio]').change(function () {
var selection = this.value;
dap_list.filter(function (item) {
return item.values().dap_status == selection;
});
});
请注意
if (booleanCondition) {
return true;
} else {
return false;
}
是一种反模式。不要这样做,只需像我上面那样return booleanCondition;
。
答案 1 :(得分:0)
您必须更改HTML中的重复ID。
<label class="radio-inline">
<input type="radio" class="search" name="search_radio" id="search_radio1" value="Awaiting Approval">Awaiting Approval
</label>
<label class="radio-inline">
<input type="radio" class="search" name="search_radio" id="search_radio2" value="Needs Further Review">Needs Further Review
</label>
<label class="radio-inline">
<input type="radio" class="search" name="search_radio" id="search_radio3" value="Approved">Approved
</label>
对于JS,您可以使用:
var dap_list = new List('dap_list', {
valueNames: ['waste_name', 'client_name', 'created_by', 'timestamp', 'dap_status'],
page: 8,
plugins: [
ListPagination({})
]
});
$('.search').change(function() {
var selection = this.value;
dap_list.filter(function(item) {
var status = item.values().dap_status;
return status == selection;
});
});