我不知道如何搜索这个,所以如果之前已经问过这个道歉。基本上我使用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');
试过,但还是不行,所以我很为难。我知道我在这里松了一口气,如果有人想和我打开一个聊天请做,谢谢你的时间
不管你做什么,或者解决的办法是做用户永远之类的东西.parent()。父()总有一天你的代码会变得糟糕AK,你会花几个小时想知道为什么。 – bitoiu
@bitoiu - 想给你的评论+1千倍。 – EkoostikMartin
谢谢,不错的建议:) –