我不知道如何搜索这个,所以如果之前有人问过这个道歉。基本上我使用jQuery / AJAX / PHP动态保存到数据库,拉回信息等。我已经让我的表单保存并拉回房间的id,然后保存项目的id,但是我需要一种方法动态地将房间ID保存到它的子项中,以便它们全部链接到数据库中。我会尽力解释一切。
<div id="formHolder" rel="1">
<form class="rooms">
<label>Room</label>
<input type="text" name="roomName[]">
<input type="hidden" class="roomId" name="roomId[]">
<input type="hidden" class="inventoryId" name="inventoryId[]" value="<?=$_GET['inventory_id']?>">
<div class="saveRoom">Save Room</div>
</form>
<div class="addItem">
<form class="items">
<label>Item</label>
<input type="text" name="itemName[]">
<label>Description</label>
<textarea name="itemDescription[]"></textarea>
<label>Condition</label>
<select name="itemCondition[]">
<option value="Good">Good</option>
<option value="Adequate">Adequate</option>
<option value="Poor">Poor</option>
</select>
<input type="hidden" class="itemId" name="itemId[]" value="">
<input type="hidden" name="itemInventoryId[]" value="<?=$_GET['inventory_id']?>">
<input type="hidden" name="itemParent[]" value="">
<div class="saveIcon" style="display: none; color: green;">SAVED!</div>
<div class="save">Save Item</div>
</form>
</div>
<div id="addItem">Add another item</div>
</div>
这是我使用的基本形式。我的计划是将房间的ID保存到rel属性,然后添加的每个项目都会从那里获取该ID,但我根本无法理解如何去做。
$('#addItem').on('click', function(){
$('<form class="items">\
<label>Item</label>\
<input type="text" name="itemName[]">\
<label>Description</label>\
<textarea name="itemDescription[]"></textarea>\
<label>Condition</label>\
<select name="itemCondition[]">\
<option value="Good">Good</option>\
<option value="Adequate">Adequate</option>\
<option value="Poor">Poor</option>\
</select>\
<input type="hidden" class="itemId" name="itemId[]" value="">\
<input type="hidden" name="itemInventoryId[]" value="<?=$_GET["inventory_id"]?>">\
<input type="hidden" name="itemParent[]" value="'$(this).parent().parent().attr('rel');'">\
<div class="saveIcon" style="display: none; color: green;">SAVED!</div>\
<div class="save">Save Item</div>\
</form>').fadeIn(500).appendTo('.addItem');
});
你可以看到我尝试使用$(this).parent().parent().attr('rel');
,但这不起作用,所以我很难过。我知道我在这里有点胡思乱想,如果有人想和我聊聊,请做,谢谢你的时间
答案 0 :(得分:1)
它会正常工作,但你的水平太高了! rel
attr的div只是parent
,而不是父父:
$(this).parent().attr('rel');
或者,因为您的父母有一个ID(最好是唯一的!):
$("#formHolder").attr("rel");
答案 1 :(得分:0)
这是指“#addItem”div和“rel”是它的直接父级的属性所以我认为它应该只是
$(this).parent().attr('rel');