Javascript 这个代码有什么问题?错误(缺少“)&引用;
除此行外,代码仍按原样工作Javascript 这个代码有什么问题?错误(缺少“)&引用;,javascript,arrays,Javascript,Arrays,除此行外,代码仍按原样工作 $('#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">
$('#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>');
}
$(“#补充项”).append(“\n\\n\\n”
for(数据中的变量y){
“\”+数据[y]。大小+“\”
}
“\\n\\n\”);
}
我试着删除上面的行,它工作了,也试着在没有循环的情况下追加,它工作了。我不需要正确的方法,但希望上面的代码可以工作
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>')
}
});
}
});
}
var x=true;
函数autoCompleteWarehouseInventory(){
$(“#productName”).devbridgeAutocomplete({
serviceUrl:“searchWarehouseInv”,
键入:“POST”,
ShowNoSuggestion注意:正确,
无建议通知:“无现有产品”,
onSelect:函数(事件、用户界面){
var productName=document.getElementById('productName')。值;
$.ajax({
键入:“POST”,
url:'SetWarehouseInvServlet',
数据类型:“json”,
数据:{
产品名称:产品名称
},
成功:功能(数据){
if(x){
$('#infullitem')。追加('\n\
产品名称ColorSizeQuantity');
x=假;
};
$(“#补充项”).append(“\n\\n\\n”
for(数据中的变量y){
“\”+数据[y]。大小+“\”
}
“\\n\\n\”)
}
});
}
});
}
您不能在循环中有一个与那样的字符串连接内联的“for…”
您可以使用和格式化数据中的
元素字符串
例如:
$('#补充项')。追加('\n\
\n\
\n\
'
+map(函数(opt){return'+opt.size+'''}).join(“”)
+“\n\
\n\
');
您应该尝试使用大括号和圆括号配对的编辑器。:)
试试这个:
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;
}
var options = '';
for(var y in data){
options += '<option value="'+ data[y].size +'">'+ data[y].size + '</option>';
}
$('#ReplenishItem').append(
'<tr>'+
'<td>'+
'<input type="hidden" name="" value="'+ data[0].itemCode +'"/>'+
'<input type="text" value="'+ data[0].productName +'"/>'+
'</td>'+
'<td>'+
'<select name="size">'+
options
'</select>'+
'</td>'+
'</tr>');
}
});
}
});
}
var x=true;
函数autoCompleteWarehouseInventory(){
$(“#productName”).devbridgeAutocomplete({
serviceUrl:“searchWarehouseInv”,
键入:“POST”,
ShowNoSuggestion注意:正确,
无建议通知:“无现有产品”,
onSelect:函数(事件、用户界面){
var productName=document.getElementById('productName')。值;
$.ajax({
键入:“POST”,
url:'SetWarehouseInvServlet',
数据类型:“json”,
数据:{
产品名称:产品名称
},
成功:功能(数据){
if(x){
$(“#补充项”).append(“\n产品名称ColorSizeQuantity”);
x=假;
}
var选项=“”;
for(数据中的变量y){
选项+=''+数据[y]。大小+'';
}
$(“#补充项”)。追加(
''+
''+
''+
''+
''+
''+
''+
选择权
''+
''+
'');
}
});
}
});
}
'for(数据中的变量y){'
不是有效的javascript,'}
也许首先你应该阅读一些关于javascript for in循环的内容:(特别是看看“Array iteration and for…in”)作为起点,JSLint你的代码是一个非常好的主意。我发现了一些语法上的奇怪之处。
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;
}
var options = '';
for(var y in data){
options += '<option value="'+ data[y].size +'">'+ data[y].size + '</option>';
}
$('#ReplenishItem').append(
'<tr>'+
'<td>'+
'<input type="hidden" name="" value="'+ data[0].itemCode +'"/>'+
'<input type="text" value="'+ data[0].productName +'"/>'+
'</td>'+
'<td>'+
'<select name="size">'+
options
'</select>'+
'</td>'+
'</tr>');
}
});
}
});
}