我有这个代码正在工作,除了1件事,以下是:
当我在文本框中键入日期选择器时,单击日期时,日期将放在文本框中,例如'27 -05-2014'。现在,当使用下面的代码时,这应该使用正确的AJAX输出过滤页面。不幸的是它没有。任何帮助都很多。
JavaScript的:
$('#boekingsnummer_1').keyup(function(){
updateEmployeesText($(this).val(),'boekingsnummer');
});
$('#huiscode_1').keyup(function(){
updateEmployeesText($(this).val(),'huiscode');
});
function updateEmployeesText(val,opt){
$.ajax({
type: "POST",
url: "submit.php",
dataType : 'json',
cache: false,
data: {text: val, filterOpts:opt},
success: function(records){
$('#employees tbody').html(makeTable(records));
}
});
}
PHP:
$opts = (isset($_POST['filterOpts']) ? $_POST['filterOpts'] : FALSE);
$val = (isset($_POST['text']) ? $_POST['text'] : FALSE);
if (($val != FALSE) && ($opts == "boekingsnummer")){
$where = " WHERE boekingsnummer LIKE '".$val."%'";
}elseif (($val != FALSE) && ($opts == "huiscode" )){
$where = " WHERE huiscode LIKE '".$val."%'";
}
答案 0 :(得分:0)
您没有指定您使用的是哪个datepicker插件。
虽然您必须在datepicker的更新事件上进行ajax调用,而不是在keyup事件上。
可能会解决您的问题。
答案 1 :(得分:-1)
尝试设置内容类型
contentType: "application/json; charset=utf-8"
据我所知,如果您不设置此项,服务器会将此请求解释为普通帖子。
如果这不起作用,请显示正在打印的echo file_get_contents("php://input")
。
答案 2 :(得分:-1)
假设您在php文件中有所有其他代码正确,例如将结果与json_encode()
放在一起,请尝试更改以下代码:
$opts = (isset($_POST['filterOpts']) ? $_POST['filterOpts'] : FALSE);
$val = (isset($_POST['text']) ? $_POST['text'] : FALSE);
为:
$opts = (isset($_POST['filterOpts'])) ? $_POST['filterOpts'] : FALSE;
$val = (isset($_POST['text'])) ? $_POST['text'] : FALSE;