2016-09-14 14 views
1

プロパティ製品IDを持つオブジェクトを持つjson配列があります。 productidを取得して配列に格納し、検索欄に商品IDを設定することができます。検索ボックスから商品IDを選択すると、そのオブジェクトの対応する緯度と経度のプロパティを配列に格納する必要があります。誰でもこれを行う方法を提案することはできますか?以下は、jsonデータを取得し、検索欄に製品IDを入力するコードです。以下はプロパティを使用してjsonオブジェクトを検索し、オブジェクトの対応するすべてのプロパティを取得します。

function loadsearch(){ 

    $.ajax({ 
     type: "GET", 
     url: 'data.json', 
     dataType: "json", 
     crossDomain: true, 
     success: function parse(response){ 
for(k=0;k<response.BMS.length;k++){ 
productids.push(response.BMS[k].prodid) 
    // var ci = response.records[i].city; 

} 

     } 
}); 
} 
loadsearch(); 
$(function() 
       { 
        $("#searchbox").autocomplete({ 
         source: productids, 
         select: function(event,ui){ 
          var va = ui.item.value; 
          // hos(va); 
          //searchVal(va); 
         } 
        }); 
       }); 

私のJSONです:

{ 
    "BMS": [{ 
     "type": "point", 
     "prodid": "NA", 
     "fname": "VID_20160907_175716991.mp4", 
     "coordinates": "[18.49536685 , 73.81291993]", 
     "lat": "18.49536685", 
     "lng": "73.81291993", 
     "date": "2016-09-07", 
     "time": "now", 
     "status": "rescan" 
    }, { 
     "type": "point", 
     "prodid": "NA", 
     "fname": "VID_20160908_102145088.mp4", 
     "coordinates": "[18.49532624 , 73.81284719]", 
     "lat": "18.49532624", 
     "lng": "73.81284719", 
     "date": "2016-09-08", 
     "time": "now", 
     "status": "rescan" 
    }, { 
     "type": "point", 
     "prodid": "NA", 
     "fname": "VID_20160909_103928123.mp4", 
     "coordinates": "[18.49547267 , 73.81294396]", 
     "lat": "18.49547267", 
     "lng": "73.81294396", 
     "date": "2016-09-09", 
     "time": "now", 
     "status": "rescan" 
    }, { 
     "type": "point", 
     "prodid": "", 
     "fname": "VID_20160909_104658010.mp4", 
     "coordinates": "[18.49541044 , 73.81292334]", 
     "lat": "18.49541044", 
     "lng": "73.81292334", 
     "date": "2016-09-09", 
     "time": "now", 
     "status": "authentic" 
    }, { 
     "type": "point", 
     "prodid": "NA", 
     "fname": "VID_20160909_104958231.mp4", 
     "coordinates": "[18.49538404 , 73.81292148]", 
     "lat": "18.49538404", 
     "lng": "73.81292148", 
     "date": "2016-09-09", 
     "time": "now", 
     "status": "rescan" 
    }, { 
     "type": "point", 
     "prodid": "", 
     "fname": "VID_20160909_105249111.mp4", 
     "coordinates": "[18.49538324 , 73.81292229]", 
     "lat": "18.49538324", 
     "lng": "73.81292229", 
     "date": "2016-09-09", 
     "time": "now", 
     "status": "authentic" 
    }, { 
     "type": "point", 
     "prodid": "NA", 
     "fname": "VID_20160909_115447094.mp4", 
     "coordinates": "[18.58629075 , 73.821569]", 
     "lat": "18.58629075", 
     "lng": "73.821569", 
     "date": "2016-09-09", 
     "time": "now", 
     "status": "rescan" 
    }, { 
     "type": "point", 
     "prodid": "NA", 
     "fname": "VID_20160909_120629821.mp4", 
     "coordinates": "[18.58629075 , 73.821569]", 
     "lat": "18.58629075", 
     "lng": "73.821569", 
     "date": "2016-09-09", 
     "time": "now", 
     "status": "rescan" 
    }, { 
     "type": "point", 
     "prodid": "NA", 
     "fname": "VID_20160909_121752248.mp4", 
     "coordinates": "[18.58629075 , 73.821569]", 
     "lat": "18.58629075", 
     "lng": "73.821569", 
     "date": "2016-09-09", 
     "time": "now", 
     "status": "rescan" 
    }, { 
     "type": "point", 
     "prodid": "", 
     "fname": "VID_20160909_124615416.mp4", 
     "coordinates": "[18.49540612 , 73.8129407]", 
     "lat": "18.49540612", 
     "lng": "73.8129407", 
     "date": "2016-09-09", 
     "time": "now", 
     "status": "authentic" 
    }, { 
     "type": "point", 
     "prodid": "NA", 
     "fname": "VID_20160909_140442837.mp4", 
     "coordinates": "[18.58629075 , 73.821569]", 
     "lat": "18.58629075", 
     "lng": "73.821569", 
     "date": "2016-09-09", 
     "time": "now", 
     "status": "rescan" 
    }, { 
     "type": "point", 
     "prodid": "", 
     "fname": "VID_20160913_175112167.mp4", 
     "coordinates": "[18.58384342 , 73.82221776]", 
     "lat": "18.58384342", 
     "lng": "73.82221776", 
     "date": "2016-09-13", 
     "time": "now", 
     "status": "authentic" 
    }, { 
     "type": "point", 
     "prodid": "", 
     "fname": "VID_20160913_175131116.mp4", 
     "coordinates": "[18.4954413 , 73.8129359]", 
     "lat": "18.4954413", 
     "lng": "73.8129359", 
     "date": "2016-09-13", 
     "time": "now", 
     "status": "authentic" 
    }] 
} 

答えて

0

はたぶん、あなたは、配列の機能マップを探しています。次に例を示します。

$.ajax({ 
    type: "GET", 
    url: 'data.json', 
    dataType: "json", 
    crossDomain: true, 
    success: function parse(response){ 
    productids = response.BMS.map(
     function (p) { 
      return p.prodid 
     } 
    ); 
} 

EDIT

例:ここでは詳細については

var a = [1, 2, 3, 4]; 
var b = a.map(function (x) { return x*2; }); 
console.log(b); //it shows [2,4,6,8] 

は、より詳細です:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

+0

はあなたの助けをいただき、ありがとうございます。でも地図の仕組みを教えてください。 – Aparna

+0

もちろん!この関数をパラメータとして別の関数に送ります。この関数は1つのパラメーターを受け取り、保管したい値を戻さなければなりません。 例: var a = [1、2、3、4]; var b = a.map(function(x){return x * 2;}); console.log(b); //それは[2,4,6,8] – Farv

関連する問題