在没有刷新jquery的情况下附加div

时间:2014-01-15 03:01:30

标签: php jquery html css content-management-system

我想在不刷新页面的情况下添加div。

这是我的Javascript:

<input class="btnsubmit"  type="button" value="+Add Trivia" id="add_triviamodal"> 

function add_trivia()
{
    var PHOTO_TRIVIA = CKEDITOR.instances.Trivia_Photo.getData();
    var TITLE_TRIVIA = $('#TRIVIA_TITLE').val();
    var CAPTION_TRIVIA = CKEDITOR.instances.triviacap.getData();

$.post('insert_home.php',{TRIVIA_TITLE:TITLE_TRIVIA,TRIVIA_PHOTO:PHOTO_TRIVIA,TRIVIA_CAP:CAPTION_TRIVIA}).done(function(data){
    alert ("Trivia Successfully Added");
        location.reload(); \\what i do is just refresh the page
    });
}

这是我输出将使用上面的ajax

添加的数据的方式
 echo "<div class=\"view view-sixth\">

              ".$Tri_IMAGE."


             <div class=\"mask\">
             <div class=\"divbutton\">
             <input  onclick='TRIVIA_EDIT($Tri_ID);' class=\"btnsubmit\"  type=\"button\" value=\"Edit\" id=\"edit_trivia\">
             <input  onclick='TRIVIA_DELETE($Tri_ID,this);' class=\"btnsubmit\"  type=\"button\" value=\"Delete\" id=\"delete_trivia\">
             </div> 
             <h2>".$Tri_TITLE."</h2>
             <p>".$Tri_CAPTION."</p>
             </div>
            </div>";
}

4 个答案:

答案 0 :(得分:1)

您可以在jQuery中使用append()将元素附加到DOM。如果您的PHP返回div。然后使用ie $('#trivias').append(data);

将其附加到DOM元素

编辑(以问题作者代码为例):

我用代码替换location.reload()部分以附加返回的div。

$.post('insert_home.php',{TRIVIA_TITLE:TITLE_TRIVIA,TRIVIA_PHOTO:PHOTO_TRIVIA,TRIVIA_CAP:CAPTION_TRIVIA}).done(function(data){
  $('#trivias').append(data);
}

这里我假设你有一个带有 trivias id的元素。例如,代码中的某处已经<div id="trivias">...</div>

答案 1 :(得分:0)

将您的回复数据放入您想要的任何内容

$.post('insert_home.php',{TRIVIA_TITLE:TITLE_TRIVIA,TRIVIA_PHOTO:PHOTO_TRIVIA,TRIVIA_CAP:CAPTION_TRIVIA}).done(function(data){
        alert ("Trivia Successfully Added");
        $('#idOfTheDivYouwantToPutResponseIn').html(data);
    });

答案 2 :(得分:0)

更改$ .post()回调以将insert_home.php中的HTML响应附加到DIV中。

$.post('insert_home.php',{
    TRIVIA_TITLE: TITLE_TRIVIA,
    TRIVIA_PHOTO: PHOTO_TRIVIA,
    TRIVIA_CAP: CAPTION_TRIVIA
}).done(function(data){
    alert ("Trivia Successfully Added");
    $('#trivias').html(data);
});

答案 3 :(得分:0)

PHP中的

使用json_encode

$str = "<div class=\"view view-sixth\">
         ".$Tri_IMAGE."
             <div class=\"mask\">
             <div class=\"divbutton\">
             <input  onclick='TRIVIA_EDIT($Tri_ID);' class=\"btnsubmit\"  type=\"button\" value=\"Edit\" id=\"edit_trivia\">
             <input  onclick='TRIVIA_DELETE($Tri_ID,this);' class=\"btnsubmit\"  type=\"button\" value=\"Delete\" id=\"delete_trivia\">
             </div> 
             <h2>".$Tri_TITLE."</h2>
             <p>".$Tri_CAPTION."</p>
             </div>
            </div>";

echo json_encode($str);

然后使用他发布这样的请求

$.ajax({
    type: "POST",
    url: 'insert_home.php',
    data: {TRIVIA_TITLE:TITLE_TRIVIA,TRIVIA_PHOTO:PHOTO_TRIVIA,TRIVIA_CAP:CAPTION_TRIVIA},
    dataType:'json',
    success: function (data) {
         $('#your_id').html(data);
    }
});