2016-12-22 9 views
2

配列名はdataObjです。 dataObj配列にはいくつかのオブジェクトがありますが、チェックボックスをクリックすると、dataObj配列は空白になり、新しいオブジェクトが取得されます。配列内のオブジェクトをプッシュする方法は?

Any mistake in below code. Thanks for your help 
var dataObj = []; 
var copyDataObj = []; 
dataObj = <?php echo json_encode($travellerDetails); ?> 
copyDataObj = dataObj; 
$('.checkbox_check').click(function() { 
    var checkbox_values = [];//all the checked value in this array 
    $("input[name='airlines']:checked").each(function() { 
     checkbox_values.push($(this).val()); 
    }); 
    dataObj = []; 
    for(var i=0;i<=checkbox_values.length;i++){ 
     for(var j=0;j<=copyDataObj.length;j++){ 
      if(copyDataObj[j].operator1 == checkbox_values[i]){ 
       dataObj.push(copyDataObj[j]);//here is the problem 
      } 
     } 
    } 
    displayResult(); 
}); 

copyDataObj [J] =オブジェクト{ trip_id: "3"、 booking_reference: "test123"、 フライト: "3"、 flight2: "0"、 dep_date:「2016- 12-30" ... }

私の質問はdataObj配列でcopyDataObj[j]オブジェクトをプッシュする方法ですか?

+1

'dataObj'を配列ではなく文字列として定義しました。 'var dataObj = []; 'を使用します。 –

+0

dataObjectは配列ではありません – Milaci

+0

dataObjは配列です。私はコードの上にそれを定義しましたが、私はここに書きませんでした。 –

答えて

0

あなたが配列としてdataObjを定義することによって開始VAR dataObj = [];ですが、クリック機能でそれをクリアすると、文字列に設定されます。dataObj = "";にする必要があります。var dataObj = [];再度

+0

var dataObj = []; var copyDataObj = []; dataObj = <?php echo json_encode($ travellerDetails); ?> copyDataObj = dataObj; –

+0

以下のコードに誤りがあります。ご協力いただきありがとうございます。 var dataObj = []; var copyDataObj = []; dataObj = <?php echo json_encode($ travellerDetails); ?> copyDataObj = dataObj; –

2

dataObjを文字列の代わりに配列[]として初期化します。そして、あなたはそれにオブジェクトをプッシュすることができるようになります。

var dataObj = []; 
dataObj.push(copyDataObj[j]); 
+0

dataObjは配列です。私はコードの上にそれを定義しましたが、私はここに書きませんでした。 –

0

あなたは文字列としてdataObjを定義しています。アイテムをアイテムにプッシュできるようにするには配列でなければなりません。

dataObj = []

+0

dataObjは配列です。私はコードの上にそれを定義しましたが、私はここに書きませんでした。 –

関連する問題