我有一个列表,其中包含一块食物的图片,然后是名称,是否可以使用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;
});
});
答案 0 :(得分:1)
正如Matt指出你需要服务器端代码来上传图像,如果可能的话,你可以使用一个实现enctype =“multipart / form-data”的表单并使用ajax调用来上传图像
有关上传的更多信息,请访问:jQuery Ajax File Upload
我已经成功实现了它(AJAX IFRAME METHOD(AIM)):http://www.webtoolkit.info/ajax-file-upload.html
上传完成后,您会将信息添加到列表中。