0

我不知道如何搜索这个,所以如果之前有人问过这个问题,我深表歉意。基本上我正在使用 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');,但这不起作用,所以我很难过。我知道我在这里有点胡扯,如果有人想和我聊天,请做,谢谢你的时间

4

2 回答 2

1

它会正常工作,但你会上升太多级别!具有 attr 的 divrel只是parent,而不是父母父母:

$(this).parent().attr('rel');

或者,由于您的父母有一个 ID(最好是唯一的!):

$("#formHolder").attr("rel");
于 2013-09-16T18:13:40.080 回答
0

这指的是“#addItem” div,而“rel”是它的直接父级的一个属性,所以我认为它应该只是

$(this).parent().attr('rel');
于 2013-09-16T18:20:04.750 回答