0
私は、入力フィールドで値段をとり、idを一意のIDとして配列に更新するはずの更新フォームを作成しています。最後の価格を更新していることで問題が発生すると、前回の設定された価格よりも優先されます。配列内の各項目の値を設定するJavaScriptの配列更新フィールド
<input placeholder="None" class="price" id="114157">
<input placeholder="None" class="price" id="114158">
<input placeholder="None" class="price" id="114159">
Javascriptを
var objects = {};
var array_list = {'price':false, 'tue_price':false, 'view': false, 'cinema': false, 'id': false, 'kids_price': false, 'free_seating': false, 'vip_consetions': false};
$(".price").change(function() {
var id = $(this).attr('id');
if (objects[id]) {
objects[id]['price'] = $(this).val();
}else{
objects[id] = array_list;
objects[id]['price'] = $(this).val();
objects[id]['id'] = $('.price[id='+id+']').val();
}
console.log(objects);
});
私はセットアップここでは例のフィドルましたが:https://jsfiddle.net/natcdgkq/
常に同じオブジェクト参照を指しているためです。したがって、 'objects [id]'は常に同じオブジェクトを指しています。 –
@EvanTrimboli実際にはフィドル私は別のIDを持つ異なる入力フィールドを持っています –
@EvanTrimboli新しい 'array_list'を作成する質問を更新しました。新しいものと古いものの価格を同じ番号に設定しました –