2013-03-26 42 views
0

我有類似這樣的http://jsfiddle.net/kianoshp/YWSSp/77/骨幹不區分大小寫

一個代碼,我認爲必須有對部分

$('#filter').on('keyup', function(e) { 
     filteredCollection = new FilteredCollection(); 
     filteredCollection.reset(filterTable(administratorCollection, 
    $(e.currentTarget).val())); 
     resetTable(filteredCollection); 
}); 

改變和我想不出答案如何使搜索不區分大小寫的。

+3

在JavaScript中你可以做的isEqual變種= str1.toUpperCase()=== str2.toUpperCase(); – NimChimpsky 2013-03-26 13:48:37

+1

此外您還可以添加'$ .trim()',所以尾隨空格不會影響結果 – 2013-03-26 13:50:41

回答

1

要使搜索不區分大小寫,可以使用大寫或小寫兩種搜索詞和搜索值。

在您的代碼:

filterTable = function(collection, filterValue) { 
    if (filterValue === "") { 
     return collection.toJSON(); 
    } 
    filterValue = filterValue.toLowerCase(); 
//       ^^^^^^^^^^^^^ 
    return collection.filter(function(data) { 
     return _.some(_.values(data.toJSON()), function(value) { 
      value = (!isNaN(value) ? value.toString() : value.toLowerCase()); 
//               ^^^^^^^^^^^^^ 
      return value.indexOf(filterValue) >= 0; 
     }); 
    }); 
}; 
+0

謝謝!但是這隻在所有字母都是小寫或大寫的情況下才起作用。如果它們不同,它不會真的起作用。 – 2013-03-26 14:40:44

+0

那是因爲你將它們歸一化爲全部相同(較低)的情況? – Bergi 2013-03-26 14:42:18

+0

http://jsfiddle.net/cqPdD/3/嘗試搜索搜索框「FRICIS」中的Fricis示例,它不會找到Fricis。 – 2013-03-26 14:44:12