Jquery:keyup-input 未检测到日期选择器的更改

mmr*_*ks6 1 jquery dictionary input datepicker

我想用 jquery 编写实时搜索(mysql)。有四个搜索参数(姓氏、名字、开始日期、结束日期),应根据所有框中的输入执行实时搜索 (AND)。日期是使用日期选择器小部件选择的。

虽然我的代码可以很好地处理前名和姓氏,但输入字段上的 .keyUp() 无法识别添加和更改的日期(但显示在输入字段中)。

如何在不破坏名称的情况下使日期有效?

脚本(位于文档末尾):

 -- plain html stripped --
 lastname <input id="lastname" type="text" name="lastname" />
 <br />
 forename <input id="forename" type="text" name="forename" />
 <br />
 startdate <input id="startdate" type="text" name="startdate" />
 <br />
 enddate <input id="enddate" type="text" name="enddate" />    

<script>
$(function() {
      var dateOptions = {
            showMonthAfterYear: false,
            showOn: 'both',
            yearRange: "-40:+10",
            changeYear: true,
            changeMonth: true,
        };  
$( "#startdate" ).datepicker(dateOptions);
$( "#enddate" ).datepicker(dateOptions);
});
</script>
<script>
$('input').keyup(function () {
var inputData = [];
$('input').map(function () {
    inputData.push({"name" : this.name, "value" : this.value});
}).get();

$.ajax({ 
    type: "POST",
    url: "dbquery.php",             
    data: inputData,
    dataType: "html", 
    success: function(response){                    
        $("#responsecontainer").html(response); 
        return response;
    }});
});
Run Code Online (Sandbox Code Playgroud)

Moo*_*oob 6

datePicker 上不会触发 key-up 事件,因为您不使用键盘与其交互。相反,监听change事件(/以及):

代替: $('input').keyup(function () {...

$(':input').on("keyup change", function () {...