这段代码有什么问题?错误遗漏“)”

时间:2015-11-12 13:15:34

标签: 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">'
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>')
                }
            });
        }
    });
}

2 个答案:

答案 0 :(得分:1)

你不能让for...in循环内联一个像这样的字符串连接。

您可以使用Array.prototype.mapArray.prototype.join格式化来自<option>的{​​{1}}元素字符串。

例如:

data

答案 1 :(得分:1)

您应该尝试使用将大括号和括号配对的编辑器。 :)

试试这个:

{{1}}