2016-06-12 10 views
0

私は、入力にマッチするMongoDBコレクション内のすべての数値を取得するために、テキスト入力ボックスにjQueryオートコンプリート関数を使用しようとしています。問題は、コレクション内のすべての値が数値であり、私が使用している正規表現パターンが機能していないことです(おそらく文字列のみを認識しますか?)。入力ボックスから数値を取得するにはjQueryオートコンプリート番号

、私はこのコードを使用しています:

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

そして、これはMongoDBのでクエリです:

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

それは正規表現パターンでなければなりません "私は数字として "ib"を含むすべての値を取得する必要があるためです。

例:コレクションの値(23,123,223,4239)、ib = 23はすべて一致する必要があります。

私は間違っていますか?あなたは、AJAXを使用していないのはなぜ

+0

私はコレクション内のすべてのレコードを提供するスクリプトを作成しました。それらのそれぞれについて、数値を文字列にキャストしました。次に、入力ボックスにサブミットされた値を含むすべてのコレクションのレコードを含む配列を作成しました。そして、最後に、コレクションのすべての "input_box"値が私が構築した配列に含まれているクエリを実行しました。 コレクションのレコード数が増えるとコストがかかりますが、これ以上の解決策は見つかりませんでした。 – jos90

答えて

0

$('.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)はそうのように見えるshoild。

+0

Ajaxで問題を解決すると、ありがとうございます。 NoSQLで常にクエリを実行しているので、私はMongoDBコレクションでPHPクエリを使用できるかどうかはわかりませんでした。とにかくありがとう :) – jos90