在JS中追加后,表数据无法正确显示

时间:2016-07-02 06:54:24

标签: javascript jquery html ajax

我正在尝试使用AJAX搜索项目ID并显示它。

这是AJAX调用之前的样子

enter image description here

然而,当我尝试搜索时,这是当我尝试附加到我的表体时会发生什么

enter image description here

这是我的AJAX电话

$.ajax({
                    type : 'POST',
                    url : '<?php echo base_url('View_projects_controller/getProjectID'); ?>',
                    dataType : 'json',
                    data : {project_id : project_id},
                    success : function(data){

                        $('#tablebody').empty();

                        var status = "";
                        var status_class = "";
                        var action = "<?php echo base_url('View_controller/viewProject') ?>";

                        $(data).each(function(){
                            console.log(data);
                            if((this.approval_status == 0) && (this.reason_for_rejection == null)){
                                status = "Approved";
                                status_class = "label label-success";
                            }
                            else if(this.reason_for_rejection != null){
                                status = "Rejected";
                                status_class = "label label-danger";
                            }
                            else{
                                status = "Pending";
                                status_class = "label label-primary";
                            }

                            $('#tablebody').append('<form enctype="multipart/form-data" method="POST" action="'+ action +'">' +
                                '<tr>' +
                                    '<td>' +
                                        '<input class="hidden" name="project_id" value="'+ this.id +'"/>' +
                                        ''+ this.id +'' +
                                    '</td>' +
                                    '<td>' +
                                        ''+ this.project_title +'' +
                                    '</td>' +
                                    '<td>' +
                                        ''+ this.office_name +'' +
                                    '</td>' +
                                    '<td>' +
                                        ''+ this.date_submitted +'' +
                                    '</td>' +
                                    '<td>' +
                                        '<span class="'+ status_class +'">' +
                                            ''+ status +'' +
                                        '</span>' +
                                    '</td>' +
                                    '<td>' +
                                        '<button type="submit" class="btn btn-link" name="action">View</button>' +
                                    '</td>' +
                                '</tr>' +
                            '</form>');
                        })
                    },
                    error : function(errorw) {
                        alert('Error');
                    }
                });

当我尝试删除开始和结束$('#tablebody').append()标记时,问题出在部分<form>上。这就是发生的事情

enter image description here

显示正确。

但是,我无法删除表单标签,因为我需要它来单击查看按钮时转到另一个页面。

我怎样才能克服这一点?提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果您打开表单标记并在其中添加tr,则会破坏表单标记。要在tr中修复此添加表单。

答案 1 :(得分:0)

这里的代码为表单($('#tablebody')。append('....'))标记创建问题。 您需要做的步骤: -

  • 从$('#tablebody')。append()
  • 中删除表格标签
  • 现在您需要做一些事情来实现表单标记任务
  • 所以制作一个函数(首先提供一个提交按钮的类)
  

$(“。class-of-submit按钮”)。点击(功能(e){
      //现在从对象中的行获取所有数据       $(this).closet(“tr”)。并查找所有数据
      //现在提交您的数据以执行操作
  })