JQuery搜索字段

JQuery搜索字段,jquery,html,Jquery,Html,我有一个数组,它的数据放在一个表上。有3个用于搜索的字段和一个按钮 不知何故,搜索不起作用。请看一下下面的代码,我想知道我在这里遗漏了什么 生活 HTML 按ID搜索 按姓名搜索 按日期从以下位置搜索: 致: 搜寻 JS $(函数(){ $(“.datepicker”).datepicker(); }); $(文件)。准备好了吗( 函数() { 变量成员=[ { 名字:“基利·路德”, id:“1235-454676”, 加入:“2014年1月16日” }, { 姓名:“迈克·简森”, i

我有一个数组,它的数据放在一个表上。有3个用于搜索的字段和一个按钮

不知何故,搜索不起作用。请看一下下面的代码,我想知道我在这里遗漏了什么

生活

HTML

按ID搜索

按姓名搜索
按日期从以下位置搜索: 致:
搜寻

JS

$(函数(){
$(“.datepicker”).datepicker();
});
$(文件)。准备好了吗(
函数()
{
变量成员=[
{
名字:“基利·路德”,
id:“1235-454676”,
加入:“2014年1月16日”
},
{
姓名:“迈克·简森”,
id:“1235-478948”,
加入:“2014年5月23日”
},
{
姓名:“莎伦·李”,
id:“1235-234532”,
加入:“2013年4月15日”
}
];
成员.排序(函数(a,b){
返回a.name.split(“”)[1]>b.name.split(“”)[1];
});
$(“#searchByID”)。按键(功能(e){
//如果字母不是数字,则显示错误,不键入任何内容
如果(e.which!=8&&e.which!=0&&e.which!=45&&e.which<48|e.which>57)){
//显示错误消息
$(“#errmsg”).html(“仅限数字”).show().fadeOut(“慢”);
返回false;
}
});//结束searchByID“)。按键
$(“#搜索按钮”)。单击(
函数()
{
var filtered=members.filter(
职能(项目)
{
返回
(item.name=''|| item.name.toLowerCase().indexOf($('#searchByName').val().toLowerCase())!=-1)和
($('#dateFrom').val()=''| | item.joined>=$('#dateFrom').val())&&

($('#dateTo').val()=''| | item.joined您的函数按预期工作。您的问题是在 “return”语句破坏了代码

我所做的只是把你的回执放在一行:

return (item.name == '' || item.name.toLowerCase().indexOf($('#searchByName').val().toLowerCase()) != -1) && ($('#dateFrom').val() =='' || item.joined >= $('#dateFrom').val()) && ($('#dateTo').val() == '' || item.joined <= $('#dateTo').val()) && ($('#searchByID').val() == '' || item.id == $('#searchByID').val())

return(item.name=''item.name.toLowerCase().indexOf($('searchByName').val().toLowerCase())!=-1)和($('dateFrom').val()=''item.joined>=$('dateFrom').val())和($('dateTo').val()=''| | item.joined是否仅显示与名称、日期和ID匹配的项?因为这就是大型条件现在正在执行的操作。但对于每个条件,他都以空字符串形式传递它们,对吗?您的名称检查有问题。@Frank van Puffelen,搜索可以是1个字段,而将其他字段保留为空。或者我们可以使用search所有3个字段。代码看起来正确,但不知怎么的,它不起作用!@webkit,非常感谢!是的,为了便于查看,我确实将它分成了一行,我认为在JS中空格不重要,但这会导致问题!再次感谢!!!@abcidd没有问题..!返回语句是这方面的一个例外..您可以阅读正确的回答此->@@webkit,再次感谢您的链接!这非常有帮助!
$(function() {
    $( ".datepicker" ).datepicker();
  });
$(document).ready(
    function()
        {
var members = [
    {
        name: "Keely Luther",
        id  : "1235-454676",
        joined: "01/16/2014"
    },
    {
        name: "Mike Jenson",
        id  : "1235-478948",
        joined: "05/23/2014"
    },
    {
        name: "Sharon Lee",
        id  : "1235-234532",
        joined: "04/15/2013"
    }
];

members.sort(function (a, b) {
    return a.name.split(' ')[1] > b.name.split(' ')[1];
});


    $("#searchByID").keypress(function (e) {
     //if the letter is not digit then display error and don't type anything
     if (e.which != 8 && e.which != 0 && e.which != 45 && (e.which < 48 || e.which > 57)) {
        //display error message
        $("#errmsg").html("Digits Only").show().fadeOut("slow");
               return false;
    }
   }); //end searchByID").keypress



    $('#searchButton').click(
        function()
            {
                var filtered = members.filter(
                    function(item)
                    {
                        return  
                        (item.name == '' || item.name.toLowerCase().indexOf($('#searchByName').val().toLowerCase()) != -1) && 
                            ($('#dateFrom').val() =='' || item.joined >= $('#dateFrom').val()) &&
                            ($('#dateTo').val() == '' || item.joined <= $('#dateTo').val()) &&
                            ($('#searchByID').val() == '' || item.id == $('#searchByID').val())
                    });



                refreshTable(filtered); 

            }); //end click 


            function refreshTable(list) 
                {
                    $("#mytable").html("<tr><td>NAME</td><td>ID</td><td>JOINS</td>");
                    for (var i = 0; i < list.length; i++)
                        {
                            var tr="<tr>";
                            var td1="<td class='PL10'>"     +list[i]["name"]+"</td>";                                                          
                            var td2="<td class='txtCenter'>"+list[i]["id"]+"</td>";
                            var td3="<td class='txtCenter'>"+list[i]["joined"]+"</td></tr>";

                           $("#mytable").append(tr+td1+td2+td3);

                        }
                    if(list.length==0)
                        {
                            $('#mytable').html("<span id='errmsg'>No Data Found</span>");
                        }
                }

            refreshTable(members);

        });//end ready
return (item.name == '' || item.name.toLowerCase().indexOf($('#searchByName').val().toLowerCase()) != -1) && ($('#dateFrom').val() =='' || item.joined >= $('#dateFrom').val()) && ($('#dateTo').val() == '' || item.joined <= $('#dateTo').val()) && ($('#searchByID').val() == '' || item.id == $('#searchByID').val())