我正在尝试在文本输入框上使用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应该与它们匹配。
我做错了什么?
答案 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();