根據我見過的文章。我通過單擊超鏈接創建臨時數組元素。我唯一的問題是,它可以產生重複的元素,到現在爲止還沒有解決:jquery array:防止重複插入
var items = new Array();
$("ul.dropdown li a").click(function(e)
{
e.preventDefault();
var id = $(this).attr('href');
var name = $(this).text();
if(!$.findFromArray('id', id, items))
{
return false;
}
else
{
items.push({
"id" : id,
"name": name
});
//genate row
var newRow = $("<tr itemId=\"" + id + "\" />")
.appendTo(".form_list.left tbody")
.append("<td>" + name + "</td>")
.append("<td><a href=\"#\" class=\"deleteRow\">delete</a></td>");
$(".deleteRow", newRow).click(function(e) {
e.preventDefault();
items = $.removeFromArray('id', $(this).closest("tr").attr("itemId"), items);
$(this).closest("tr").remove();
});
}
});
我創建了一個函數「$ .FindFromArray」,其搜索陣列插入和返回如果有假避免插入陣列並在表中生成一行:
$.findFromArray = function(property, value, arr)
{
$.each(arr, function(elem, index)
{
if(elem[property] === value)
{
return false;
}
});
};
但是,此函數總是返回我FALSE。
因爲我可以在插入元素之前避免重複?如果有更好的方法去做...我希望我能幫上忙。
嘗試使用$ .inArray (); - > http://api.jquery.com/jQuery.inArray/ – benqus