0

以下のような JSON データがあります。

[ { "id": 1 "name": "firstName" }, { "id": 2 "name": "secondName" } ]

今、私はBootstrap Typeaheadを使用しています。先行入力ドロップダウンでユーザーに「名前」を表示したいのですが、ユーザーが選択した「名前」に対応する「id」が必要です。私の要件はこれらのようなものです

<select>
   <option value="1">First Name</option>
   <option value="2">Second Name</option>
</select>
4

1 に答える 1

0

私は Bootstrap の先行入力に慣れていませんが、少し検索してその例を見たところ、データが選択メニューとして表示されていませんでした。データを div タグとして表示しています。だから私はこれがあなたが必要とするものではないと思います。

そこで、この jquery ソリューションを共有して、提供されたデータ配列から必要なものを作成します。

しかし、まず第一に、データ配列はオブジェクトの配列であるため、オブジェクト要素と他の要素の間にコンマ「,」が必要です。これは最後の要素を除いて当てはまります。

したがって、配列は次のようになります。

[ { "id": 1, "name": "firstName" }, { "id": 2, "name": "secondName" } ]

そして、その配列から必要なselectタグを書き込むjqueryソリューションは次のとおりです。

var data=[ { "id": 1, "name": "firstName" }, { "id": 2, "name": "secondName" } ];
var el= document.createElement("select");
for (var i=0 ; i<data.length; i++){
    var child = "<option value='"+data[i].id+"'>"+data[i].name+"</option>";
    $(el).append(child);
}
document.body.appendChild(el); 

これはフィドルです。

于 2015-07-31T08:41:58.430 に答える