我正在使用jQuery DataTables 1.10.9并试图更改jQuery DataTables中的搜索功能,以便它在开始搜索前至少需要3个字符。所以,我读了你需要取消绑定当前数据表搜索框,像这样:更改数据表搜索功能
$(".dataTables_filter input").unbind().bind("keyup", function(){
alert("whoo");
});
因此,现在应提醒whoo
当我在搜索框输入任何内容,但它只是做了正常的搜索功能。所以我的猜测是它没有得到正确的领域。我也尝试过:
$('.input[type="search"]').unbind().bind("keyup", function(){
alert("whoo");
});
但这也没有帮助。
var dt = $('#example').DataTable({
"order": [[11, "desc"]],
"processing": true,
"serverSide": true,
"ajax": "/datatables/test" + id,
"language": {
"url": "http://cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Dutch.json"
}
});
编辑
我曾尝试从jQuery DataTables: Delay search until 3 characters been typed OR a button clicked
的代码,但因为我没有得到这样的工作,我张贴了这个问题。
我的猜测是它不工作,它只是无法找到输入表单,但我不明白为什么,所以生病我的HTML在这里以及。
<input type="hidden" id="q" name="q" value="<?php echo $_GET['q']; ?>"/>
<table id="example" class="table table-hover" cellspacing="0" width="100%">
<?php if($_GET['k_id'] != ""){?>
<input type = "hidden" value = "<?php echo $_GET['k_id']; ?>" id = "k_id" />
<?php }elseif($_GET['w_id'] != ""){ ?>
<input type="hidden" value="<?php echo $_GET['w_id']; ?>" id="w_id"/>
<?php } ?>
<thead>
此页面是关于查找当前数据库中的每个产品。这3个输入字段在那里,因此当用户查看某人的个人资料时,他想查看他们有待售的产品,它将填充一个变量并将其发送到数据表功能。 (这也解释了为什么+ id是一个AJAX网址后面)
if($('#k_id').val() > 0) {
var id = "?k_id=" + $('#k_id').val();
}else if($('#w_id').val()){
var id = "?w_id=" + $('#w_id').val();
}else{
var id = "";
}
输入形式是使用id = example_filter和class = dataTables_filter一个div内(我会上传图片,但我没有10还代表XD)。
的可能的复制[jQuery的数据表:延迟搜索,直到3个字符被键入或按钮点击(http://stackoverflow.com/questions/5548893/jquery-datatables-delay-search-until -3字符 - 键入或按钮 - clicke) – markpsmith