2016-10-07 16 views
1

いくつかのJSONデータをフィルタリングしようとしていますが、ドロップダウンの選択に基づいて検索したいと思います。しかし、私はこれをしようとすると正しい構文を取得できません。現在、偉大な私のコードでは、次の作品、:JSONルックアップデータの構文を(条件なし)var(条件なし)

var as = $(json).filter(function (i, n) { 
    return (n.FIELD1 === "Yes" 
}); 

しかし、私がやりたいことは、ドロップダウンからVARとFIELD1値を置き換えるです。次のような何かが動作していません:

var dropdownResult = "FIELD1"; 
var as = $(json).filter(function(i, n) { 
    return (n.dropdownResult === "Yes" 
}); 

私はvarの後にフィールド名になるようにしようとしています。しかし、それは動作していません。

お時間をいただきありがとうございます。申し訳ありませんがこれまでに何度も答えられており、あなたには明らかです。

+0

上でブール値を使用するには、より良い練習がありますのでご注意'行うことになって? '$()'への引数はJSONではなくセレクタかHTMLでなければなりません。これは 'JSON.parse(json)'でなければなりません。 – Barmar

答えて

0

このように、あなたは括弧表記を使用する必要があるオブジェクトのキーとして変数値を使用するには:

var dropdownResult = "FIELD1"; 
var as = $(json).filter(function(i, n) { 
    return n[dropdownResult] === "Yes"; 
}); 

私はあなたのコードに残って余分な(を削除 - 私はこれはと同じくらいタイプミスだったと推定構文エラーが発生し、コードがまったく動作しなくなってしまいます。

はまた、それは `$(JSON)は何文字列'Yes'/'No'

+0

ありがとうございます。私はそれを渡す別の方法については確信していませんでしたが、これは私が望んだのとまったく同じです。 –