代码正常工作,除了这一行
$('#ReplenishItem').append('<tr><td><input type="hidden" name="" value="' + data[0].itemCode + '"/>\n\<input type="text" value="' + data[0].productName + '"/> \n\</td><td>\n\<select name="size">'
for (var y in data) {
'\<option value="' + data[y].size + '">' + data[y].size + '\</option>'
}
'\</select>\n\</td>\n\</tr>');
}
我尝试删除上面的行并且它有效,也尝试在没有循环的情况下附加并且它有效。我不需要正确的方法来做这个,但希望上面的代码可以工作
var x = true;
function autoCompleteWarehouseInventory() {
$("#productName").devbridgeAutocomplete({
serviceUrl: 'searchWarehouseInv',
type: 'POST',
showNoSuggestionNotice: true,
noSuggestionNotice: 'No Exsiting Product',
onSelect: function (event, ui) {
var productName = document.getElementById('productName').value;
$.ajax({
type: 'POST',
url: 'SetWarehouseInvServlet',
dataType: 'json',
data: {
productName: productName
},
success: function (data) {
if (x) {
$('#ReplenishItem').append('<tr>\n\
<th>Product Name</th><th>Color</th><th>Size</th><th>Quantity</th></tr>');
x = false;
};
$('#ReplenishItem').append('<tr><td><input type="hidden" name="" value="' + data[0].itemCode + '"/>\n\<input type="text" value="' + data[0].productName + '"/> \n\</td><td>\n\<select name="size">'
for (var y in data) {
'\<option value="' + data[y].size + '">' + data[y].size + '\</option>'
}
'\</select>\n\</td>\n\</tr>')
}
});
}
});
}
答案 0 :(得分:1)
你不能让for...in
循环内联一个像这样的字符串连接。
您可以使用Array.prototype.map
和Array.prototype.join
格式化来自<option>
的{{1}}元素字符串。
例如:
data
答案 1 :(得分:1)
您应该尝试使用将大括号和括号配对的编辑器。 :)
试试这个:
{{1}}