次のコードがあります。 1つのことを除いて、すべて私が望むように正確に動作します。ユーザーが別のitem_nameを入力すると(room_nameはそのまま)、元のitem_nameが消去されます。オブジェクトにオブジェクトを追加したいときにこのコードがオブジェクトを上書きする理由
roominventory[room_name] = obj
私たちが言っていることです:
Find the key on the object roominventory that is equivalent to the
value room_name. I now want you to assign the value of obj to that key.
それはそのように聞こえる私は何を必要とすることは私達が私達の労働者に伝えるとき、それはオブジェクト
<div class="container">
<div class="row">
<div class="col-md-4">
<form>
<div class="form-group">
<input type="text" name="room_name" id="room_name" class="form-control" placeholder="Room name">
</div>
<div class="form-group">
<input type="text" name="item_name" id="item_name" class="form-control" placeholder="Item name">
</div>
<div class="form-group">
<input type="text" name="item_description" id="item_description" class="form-control" placeholder="Item description">
</div>
<div class="form-group">
<input type="text" name="inventory" id="inventory" class="form-control" placeholder="DEBUG">
</div>
<div class="form-group">
<a id="submitinv" class="btn btn-success btn-block">Submit</a>
</div>
<table id="list" class="table table-striped">
<tr>
<th>ROOM NAME</th>
<th>ITEM NAME</th>
<th>ITEM DESCRIPTION</th>
</tr>
</table>
</form>
</div>
</div>
</div>
<script>
roominventory = {};
obj = {};
$('#submitinv').click(function(){
room_name = $('#room_name').val();
item_name = $('#item_name').val();
item_description = $('#item_description').val();
obj[item_name] = item_description;
roominventory[room_name] = obj;
$('#inventory').val(JSON.stringify(roominventory));
obj = {};
$('#list').append('<tr><td>' + room_name + '</td><td>' + item_name + '</td><td>' + item_description + '</td></tr>');
});
</script>
obj = {};を呼び出してオブジェクトを上書きしています。 –
しかし、私はそれをしない場合、ユーザーが新しいroom_nameを作成するとき、それは元のroom_nameからの情報を引き継ぎます – Clint
それから 'var room_name'を使います。書かれているように、複数のグローバル変数があります。 – Shilly