0
我使用此代码将一个元素添加到窗体。然后我计算该类的元素总数。但是,Jquery .length会返回元素数量的两倍。为什么JQuery返回错误的长度?
任何想法我做错了什么?
$(function() {
function updateWeight() {
var z = $("input.count").length;
alert(z);
}
$("#addCatalogItem").autocomplete({
source: function (request, response) {
$.getJSON("inventory_auto_complete.php", {
term: request.term,
supplier_id: $('#supplier_id').val()
}, response);
},
minLength: 2,
select: function (event, ui) {
var q = ui.item.product_id;
$('#product_id').val(q);
var r = ui.item.value;
$('#product').val(r);
var field = '<label>' + r + '</label><input class=\"count\" type=\"text\" value=\"\" name=\"field[' + q + ']\"/>';
var $item = $("form");
$(field).appendTo($item);
updateWeight();
}
});
});
HTML
<form>
<input type="hidden" id="supplier_id" value="1"/>
<input id="addCatalogItem"/>
</form>
你看过你动态创建的HTML吗? – 2010-09-30 02:13:24
@matt:我会说使用Firebug来检查生成的html会非常有帮助。 – 2010-09-30 02:18:56
不要怪'长度'或'jQuery'。问题出在你的代码中。如果你可以放置HTML,那也可以帮助我们找出问题所在。问题:你有多少'alert(z)'? – Reigel 2010-09-30 02:22:07