jQuery自动完成数字

时间:2016-06-12 16:24:58

标签: jquery json regex mongodb autocomplete

我正在尝试在文本输入框上使用jQuery自动完成功能来检索MongoDB集合中与输入匹配的所有数值。问题是集合中的所有值都是数值,而我正在使用的正则表达式模式不起作用(也许它只识别字符串?)。

要从输入框中获取数值,我正在使用此代码:

var ib = parseInt(jQuery("#id_input_box").val())

这是MongoDB中的查询:

{"input_box": {"$regex" : ".*" + ib + ".*" , "$options":"i"} }

它必须是正则表达式模式'因为我需要将包含“ib”的所有值检索为数字。

Ex:集合中的值(23,123,223,4239),ib = 23应该与它们匹配。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

为什么不使用ajax

$('.your_search_input).keyup(function(){
 var value = $('.your_search_input).val();
    $.ajax({ 
                type: 'GET', 
                url: 'search.php', 
                data: { param: value }, 
                dataType: 'json',
                success: function (data) {
                $('html').append(data) //append the data that contains matching number to anywhere you want
                    }
        });
}

php文件(search.php)似乎是这样的。

if(isset($_GET['param'])){
$param= $_GET['param'];
}
$sql1 = $conn->prepare("SELECT * FROM table WHERE id LIKE %:input% ORDER BY");
$sql1->bindValue('input',$param);
$sql1->execute();