Внутри JQuery функции добавить HTML-код получил ошибку

0

Это функция My jquery здесь, я добавляю html-код внутри функции. Это вызвало ошибку

function onDivisionChange() {
  $.ajax({
    type : 'POST',
    dataType : 'json',
    url : '/Example/selectDivision.html',
    data : ({
        id : $('#division').val()
    }),
    success : function(responseData) {

        if (responseData != null) {

            $('#student').find('td').remove().end().append('').val('-1');
            $.each(responseData, function(index, item) {

                $('#student').append(   
                    $('<td></td>').val(item['id']).html(item['id']),

                    $('<td></td>').val(item['id']).html(
                         '<a href="edit.html?id=' + item['id'] + '" >Edit</a>'),
                                                       ^ 
                                                       |_ Here Error Occured

  Error is the  '+ item['id'] + ' this line takes as string, not the id value 

   in browser Link as  ->   edit.html?id=' + item['id'] + '

            Correct format is  edit.html?id= 41            


                    $('<br />').val(item['id']).html(item['']));

            });
        } 
    }

});

}

Если вы знаете об этой ошибке, поделитесь своим ответом

РЕДАКТИРОВАТЬ

Страница

function onStudentDivisionChange() {
    $.ajax({
        type : 'POST',
        dataType : 'json',
        url : '/Example/selectDivision.html',
        data : ({
            id : $('#division').val()
        }),
        success : function(responseData) {

            if (responseData != null) {

                $('#student').find('td').remove().end().append(
                        '').val('-1');
                $.each(responseData, function(index, item) {

                    $('#student').append(
                            $('<td></td>').val(item['id']).html(
                                    item['id']),
                            $('<td></td>').val(item['id']).html(
                                    item['name']),
                            $('<td></td>').val(item['id']).html(
                                    item['fatherName']),
                            $('<td></td>').val(item['id']).html(
                                    item['motherName']),
                            $('<td></td>').val(item['id']).html(
                                    item['admissionNo']),
                            $('<td></td>').val(item['id']).html(
                                    item['phoneNo']),
                            $('<td></td>').val(item['id']).html(
                                    '<a href="edit.html?id=' + (item['id']) + '" >Edit</a>'));
                    alert("Id:"+item['id']);

                });
            } else {
                $('#student').find('td').remove().end().append(
                        '<td th:text="${student}"></td>').val('-1');
            }
        }

    });
}
  • 1
    Пожалуйста, укажите, какая ошибка. Также, пожалуйста, вставьте console.log(JSON.stringify(item)) непосредственно перед строкой ошибки и сообщите, что она выводит.
  • 0
    @Amadan ошибка - ошибка несоответствия типов, потому что '+ item [' id '] +' принимается как строка, а не как внутреннее значение. Я думаю, это потому, что неправильный формат кварталов, отображаемый в консоли: Ошибка поля в объекте 'student' в поле 'id': отклоненное значение ['item [' id ']']; коды [typeMismatch.student.id, typeMismatch.id, typeMismatch.long, typeMismatch]
Показать ещё 16 комментариев
Теги:

2 ответа

2
Лучший ответ

Спасибо за то, что вы обновили свой вопрос.

попробуйте сделать

success : function(responseData) {

$.each(responseData, function(index, item) {
   var id = this.id;
   alert(id);

или

   var id = $(this).attr('id');

см. примеры jQuery для каждого цикла

0

Я думаю, вы можете попробовать использовать parseInt() для его преобразования.

 $('<td></td>').val(item['id']).html(
                     '<a href="edit.html?id=' + parseInt(item['id']) + '" >Edit</a>')
  • 0
    это не работа для меня ру тест это действительно работа?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню