Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这个代码有什么问题?错误(缺少“)&引用;_Javascript_Arrays - Fatal编程技术网

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>');
                }
            });
        }
    });
}