Синтаксическая ошибка с добавлением jQuery - PullRequest
5 голосов
/ 31 марта 2012

Мой код выглядит следующим образом:

        <script>
        var i = 2;
        $("document").ready(function(){
            $("#newrow").click(function(){
                $("#maintable").append('<tr>
                                        <td><input type="text" name="dept_" + i size="5" maxlength="5" /></td>
                                        <td><input type="text" name="hours_" + i size="5" maxlength="1" /></td>
                                    </tr>');
            });
            i = i + 1;
        });
    </script>

Всякий раз, когда я запускаю его, JavaScript выдает мне «Uncaught SyntaxError: Неожиданный токен ILLEGAL» в строке добавления $ («# maintable»).

Что касается меня, я не могу понять, что такое синтаксическая ошибка.

Это не проблема с самим добавляемым элементом, потому что я тоже попробовал просто '<td></td>', и с той же ошибкой.

Ответы [ 2 ]

13 голосов
/ 31 марта 2012

Вы не можете разбить строку на несколько строк без специальной обработки.Либо поместите все в одну строку, либо экранируйте символы обратной косой черты:

'<tr>\
     <td><input type="text" name="dept_"' + i + ' size="5" maxlength="5" /></td>\
     <td><input type="text" name="hours_"' + i + ' size="5" maxlength="1" /></td>\
</tr>'
2 голосов
/ 31 марта 2012
<script>
    var i = 2;
    $(document).ready(function(){
        $("#newrow").click(function(){
            var html = '<tr>';
                html += '<td><input type="text" name="dept_"'+i+' size="5" maxlength="5" /></td>';
                html += '<td><input type="text" name="hours_"'+i+' size="5" maxlength="1" /></td>';
                html += '</tr>'
            $("#maintable").append(html);
        });
        i++;
    });
</script>

документ не имеет кавычек, сейчас ваша "готовая" функция не работает! Переменная "i" вообще не добавляется! Строка не может быть разделена на несколько строк, если вы не используете новые строки, не добавляете переменные или что-то подобное.

...