1

さて、私は約束と未来についていくつかの調査を行ってきました...現在私が達成しようとしているのは、オートコンプリートJQMを使用して、データベースを呼び出し、入力に書き込まれた用語を実行して入力フィールドに入力することです。私はこのURLを参照として使用しました:ここでは、それを機能させることができないようです...私はこのエラーを受け取り続けます:

Uncaught TypeError: Cannot call method 'apply' of undefined at file:///android_asset/www/js/q.js:1230

これが私のコードです。少し大きすぎるので、ここにリンクを作成しました:http: //pastebin.com/Hh3CttMm

私のhtmlの場合...そしてここに追加のJSファイルがあります:

var findClients = "SELECT clientname FROM clients WHERE uniqueName LIKE ? AND (clientState = 'NSW' OR clientState = 'MULTIPLE') LIMIT 5";

function listClients(text) {
  var clientArray = [];
  var queryDB = function queryDB(tx) {
    var term = "%" + text + "%";
    tx.executeSql(findClients, [term], createList, error2);
  }

  var createList = function createList (tx, results) {
    alert(results.row.length);
    for (var i = 0; i < results.rows.length; i++) {
      var item = results.rows.item(i);
      clientArray.push(item['clientname']);
    }

  }

  return Q.fcall(db.transaction(queryDB, error1)).then(function(){return clientArray});
}

Q.jsファイルを初期化していないページと関係があると思いますが、これを修正する方法がよくわかりません。

編集:エラーはこの関数の行にありますthrow error

Q.done = done;
function done(promise, fulfilled, rejected, progress) {
    var onUnhandledError = function (error) {
        // forward to a future turn so that ``when``
        // does not catch it and turn it into a rejection.
        nextTick(function () {
            makeStackTraceLong(error, promise);

            if (Q.onerror) {
                Q.onerror(error);
            } else {
                throw error;
            }
        });
    };

    // Avoid unnecessary `nextTick`ing via an unnecessary `when`.
    var promiseToHandle = fulfilled || rejected || progress ?
        when(promise, fulfilled, rejected, progress) :
        promise;

    if (typeof process === "object" && process && process.domain) {
        onUnhandledError = process.domain.bind(onUnhandledError);
    }
    fail(promiseToHandle, onUnhandledError);
}
4

0 に答える 0