0

私はTaffyDBが初めてで、JavaScriptプログラミングをあまり行っていないので、私が抱えている問題が単純なものであることを願っています. 選択したクライアントに応じて、TaffyDB に保存されているオプションでリストボックスを更新しようとしています。ただし、選択を行うと、すべての行が返されます。

以下は、リストボックスを更新するために使用しているコードと、クエリを実行するために使用されるselectString、およびTaffyDBの内容です。

clientID = 1788 を指定したときにすべての行が返される理由を知っている人はいますか?

列識別子を引用符で囲んで、または引用符なしで選択文字列を試しました。

// load existing user client projects if we have any
var lbProjects = document.getElementById('lbProjects');
lbProjects.options.length = 0;
var selectString = '{clientID:"' + clientID + '"}';
alert(selectString);
userProjects(selectString).each(
function (r) {
    var option = new Option();
    option.value = r.projectID;
    option.text = r.projectName;
    lbProjects.add(option, null);
});

selectString の内容: {clientID:"1788"}

DB の内容: [{"clientID":"1788","projectID":"19"}, {"clientID":"1789","projectID":"24"}, {"clientID":"1790" ,"プロジェクト ID":"23"}]

助けてくれてありがとう。アーロン・L・ブラッチャー

4

1 に答える 1

1

問題は、selectString 変数を使用しようとしたことです。

この線

userProjects(selectString).each( 

今読む

userProjects({clientID: clientIDValue}).each(

文字列ではなく、オブジェクト配列を渡すことになっていました。JavaScript の {} は、オブジェクトの配列を作成します。

于 2012-06-26T10:01:55.993 に答える