使用jQuery动态添加到列表中

Using jQuery to dynamically add to a list

本文关键字:列表 添加 jQuery 动态 使用      更新时间:2024-07-01

我有一个列表,其中有一张食物的图片,然后是名称,是否可以使用javascript/jquery允许用户上传图片和名称并将其添加到列表中?我可以动态地将文本添加到表单元素中,但还没有解决这个问题。这是我的代码

HTML

<ul id="list">
        <p>
        <li><img src="products/apple.png" width="30" height="30" align="absmiddle"/> <a href="#/Apple/">Apple</a></li>
        <li><img src="products/Banana.png" width="30" height="30" align="absmiddle"/> <a href="#/Squash/">Banana</a></li>
        <li><img src="products/BlackBerry.png" width="30" height="30" align="absmiddle"/> <a href="#/Broccoli/">BlackBerry</a></li>
        <li><img src="products/cherries.png" width="30" height="30" align="absmiddle"/> <a href="#/Carrot/">Cherries</a></li>
        <li><img src="products/coconut.png" width="30" height="30" align="absmiddle"/> <a href="#/Celery/">Coconut</a></li>
        <li><img src="products/grapes.png" width="30" height="30" align="absmiddle"/> <a href="#/Lettuce/">Grapes</a></li>
        <li><img src="products/kiwi.png" width="30" height="30" align="absmiddle"/> <a href="#/Mushroom/">Kiwi</a></li>
        <li><img src="products/lemon.png" width="30" height="30" align="absmiddle"/> <a href="#/Onion/">Lemon</a></li>
        <li><img src="products/lime.png" width="30" height="30" align="absmiddle"/> <a href="#/Potato/">Lime</a></li>
        <li><img src="products/Orange.png" width="30" height="30" align="absmiddle"/> <a href="#/Pumpkin/">Orange</a></li>
        <li><img src="products/peach.png" width="30" height="30" align="absmiddle"/> <a href="#/Radish/">Peach</a></li>
        <li><img src="products/Strawberry.png" width="30" height="30" align="absmiddle"/> <a href="#/strawberry/">Strawberry</a></li>
        <li><img src="products/Watermelon.png" width="30" height="30" align="absmiddle"/> <a href="#/SugarSnaps/">Watermelon</a></li>
        <input type="text" id="New_ingredient_1" name="New_ingredient[]" value="" placeholder="add Ingredient"/>
        </p>
    </ul>

我将这个jquery用于我的其他表单元素,但显然它不适用于我的列表和图片。

$(document).ready(function() {
    var addDiv2 = $('#list');
    var i = $('#list p').size() + 1;
   $('#list').on('click', function () {
    $('<p> <input id="New_ingredient_' + i + '" size="40" name="New_ingredient[]' + '" type=text" value="" placeholder="Ingredient" /><input id="quantity_' + i + '" size="40" name="quantity[]' + '" type=text" value="" placeholder="Quantity" /><a href=#" class="remNew2"> Remove </a> </p> ').appendTo(addDiv2);
    i++;
    return false;
    });
    $(document).on('click', '.remNew2', function () {
        if (i > 1) {
            $(this).parents('p').remove();
            i--;
        }
        return false;
    });
});

正如Matt所指出的,上传图像需要服务器端代码,也就是说,如果可能的话,你可以使用一个实现enctype="multipart/form data"的表单,并使用ajax调用上传图像

关于上传的更多信息可以在这里找到:jQuery Ajax File upload

我已经用这个成功地实现了它(AJAX IFRAME METHOD(AIM)):http://www.webtoolkit.info/ajax-file-upload.html

上传完成后,您将把信息添加到您的列表中。