我生成一个带有ajax和服务器端的表。
使用选择框可以过滤表。一切都很好。
这是选择框代码:
<select id="sortBy">
<option value="">Sort by</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>**strong text**
这是 jquery代码:
var table = $('#example').DataTable({
"searching": false,
"processing": true,
"serverSide": true,
"ajax": {
"url": "https://xyyy.de/getData.php",
"data": function ( d ) {
return $.extend( {}, d, {
"search_keywords": $("#searchInput").val().toLowerCase(),
"filter_option": $("#sortBy").val().toLowerCase()
} );
}
}
});
$(document).ready(function(){
// Redraw the table
table.draw();
// Redraw the table based on the custom input
$('#searchInput,#sortBy').bind("keyup change", function(){
table.draw();
});
});
现在,我想像这样将size属性添加到选择框:
<select size "5" id="sortBy">
<option value="">Sort by</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
此更改后,整个表不再起作用,并且表内部没有数据生成。
这是控制台错误:
Uncaught TypeError: Cannot read property 'toLowerCase' of null
如果我从toLowerCase()
中删除了filter_option
,一切正常。我该如何解决?原因是什么?