0

このフィドルを見ると、おそらく最も簡単に理解できます。

http://jsfiddle.net/TdBdW/1/ - CSS がないことをお詫びします。

ご覧のとおり、動的に生成されたドロップダウンとテキスト ボックスには、ハードコードされた値の大きなリストがあります。これらをデータベースから直接取得したかったのですが、リアルタイムで使用するにはクエリの実行に時間がかかりすぎます-つまり、ユーザーがドロップダウンをクリックするか、オートコンプリートボックスに入力しようとすると.

代わりに、関連するクエリを cron ジョブを使用して夜間に実行したいと考えていますが、問題は、クエリの結果を取得して JavaScript ファイルに入れる方法です。

誰でもこれを実装する方法について何か考えがありますか?

どんな助けでも大歓迎です。

マーティン

4

3 に答える 3

2

あなたが望むもの(「cronジョブはjavascriptで使用するためのデータを作成します」)を達成するための最良のルートは、JSONを経由することです。これには以下が含まれます。

  1. a) データをフェッチし、b) Web サーバーからアクセス可能な JSON 規則を使用してフォーマットされたファイルにデータを書き込む cron ジョブを作成します。
  2. cron ジョブによって作成されたファイルを含めるように html を修正します。

簡単にするために、次のようなコンテンツを使用して JavaScript ファイルを作成できます。

var agentValues = [
        "excel",
        "msword",
        "ppt",
];

これは静的な最初と最後の行で簡単に作成でき、その間にクエリから引用された値を追加するだけです。次に、他の JavaScript と同様に、このファイルを HTML ドキュメントにロードできます。

<script type="text/javascript" src="..."></script>

オートコンプリート値を入力するときは、forこの配列に対してループを使用するだけです。

for (var i = 0; i < agentValues.length; i++) {
    $("<option>" + agentValues[i] + "</option>").appendTo($values);
}

上記は、目的を達成するための最も基本的なバージョンであり、たとえば次の方法で改善できます。

  1. エラーチェックの追加
  2. 多くの最上位変数を持たないように名前空間を構造化する
  3. 別のファイルではなく、既存の JavaScript にデータ値を追加する
于 2011-04-12T10:17:51.643 に答える