當我運行此代碼時,onClick下的if語句會在view.checked == true時計算,但else在view.checked == false時不計算。該警報顯示view.checked似乎正常工作。不知道發生了什麼事。我使用這兩個插件:JavaScript If語句有效,但Else不會
https://datatables.net/與fnFilter插件
和
http://wenzhixin.net.cn/p/multiple-select
作爲一個側面說明,也試圖找出爲什麼我的。加入()方法添加空格。
var checked = [];
var checkedreg = '';
$(document).ready(function() {
rtable = $('#ropes').dataTable({
"ajax": "data/ropes.txt",
"dom": 'C<"clear">lfrtip',
"columns": [
{ "data": "brand" },
{ "data": "model" },
{ "data": "length" },
{ "data": "dia" },
{ "data": "price" },
{ "data": "drytreat" },
{ "data": "midmark" },
{ "data": "bipat" },
{ "data": "falls" },
],
});
$('select').multipleSelect({
onClick: function(view) {
checkedreg = '';
alert(view.checked);
if (view.checked) { //if checkbox is checked
checked.push(view.label); //add value of checkbox to "checked" array (ex. "Petzl")
}
else {
checked.splice(array.indexOf(view.label), 1); //if checkbox is not checked, remove value from array
alert(checked); //test
}
checkedreg = checked.join("|"); //create regex of values ("Petzl| Mammut| Edelweiss)"
checkedreg = checkedreg.replace(/\s+/g, ''); //for some reason it adds spaces so i have to remove them
alert(checkedreg); //test
alert(checked); //test
rtable.fnFilter(checkedreg, 0, true); //filters a column based on a regex and column index
}
})
});
是什麼警報(view.checked);說?另外,你的JavaScritp控制檯說什麼? – fjc
仍試圖找出根本問題。我可以告訴你,''('select')底部附近有一個額外的''''''''''''''''''''''''''多重選擇符({...'代碼。 – War10ck
你可能需要明確設置一個檢查什麼view.checked等於它的真實時,而不是當它的假 – Evan