里面的jquery函数附加html代码出错了

时间:2013-11-29 06:56:02

标签: jquery html

这是我的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');
            }
        }

    });
}

2 个答案:

答案 0 :(得分:2)

感谢您更新问题。

尝试做

success : function(responseData) {

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

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

请参阅jquery each loop examples

答案 1 :(得分:0)

我猜您可以尝试使用parseInt()转换它。

 $('<td></td>').val(item['id']).html(
                     '<a href="edit.html?id=' + parseInt(item['id']) + '" >Edit</a>')