web-dev-qa-db-ja.com

jquery / ajaxを使用してDivのコンテンツを更新/再読み込みします

ボタンをクリックしてdivをリロードしたい。全ページをリロードしたくありません。

これが私のコードです:

HTML:

<div role="button" class="marginTop50 marginBottom">
    <input type="button" id="getCameraSerialNumbers" value="Capture Again" class="disabled" />
    <input type="button" id="confirmNext"  value="Confirm & Proceed" class="disabled marginLeft50" />
</div>

<input type="button" id="getCameraSerialNumbers" value="Capture Again">ボタンをクリックすると、<div id="list">....</div>は全ページをロードまたは更新せずにリロードします。

以下は私が試したJqueryですが、動作していません: -

$("#getCameraSerialNumbers").click(function () {
    $("#step1Content").load();
});

提案してください。

これは私のページのDIVです。そこにはいくつかの製品の写真とシリアル番号が含まれています。しかし、ユーザーはいくつかの問題に直面しています彼は再びそれらの情報をロードする "再キャプチャ"ボタン "<input type="button" id="getCameraSerialNumbers" value="Capture Again">"をクリックするでしょう。

DivのHTMLコード: -

<div id="step1Content" role="Step1ShowCameraCaptures" class="marginLeft">

<form>
    <h1>Camera Configuration</h1>
    <!-- Step 1.1 - Image Captures Confirmation-->
    <div id="list">
        <div>
            <p>
                <a id="pickheadImageLightBox" data-lightbox="image-1" title="" href="">
                    <img alt="" id="pickheadImage" src="" width="250" height="200" />
                </a>
            </p>
            <p>
                <strong>Pickhead Camera Serial No:</strong><br />
                <span id="pickheadImageDetails"></span>
            </p>
        </div>
        <div>
            <p>
                <a id="processingStationSideImageLightBox" data-lightbox="image-1" title="" href="">
                    <img alt="" id="processingStationSideImage" src="" width="250" height="200" />
                </a>
            </p>
            <p>
                <strong>Processing Station Top Camera Serial No:</strong><br />
                <span id="processingStationSideImageDetails"></span>
            </p>
        </div>
        <div>
            <p>
                <a id="processingStationTopImageLightBox" data-lightbox="image-1" title="" href="">
                    <img alt="" id="processingStationTopImage" src="" width="250" height="200" />
                </a>
            </p>
            <p>
                <strong>Processing Station Side Camera Serial No:</strong><br />
                <span id="processingStationTopImageDetails"></span>
            </p>
        </div>
        <div>
            <p>
                <a id="cardScanImageLightBox" data-lightbox="image-1" title="" href="">
                    <img alt="" id="cardScanImage" src="" width="250" height="200" />
                </a>
            </p>
            <p>
                <strong>Card Scan Camera Serial No:</strong><br />
                <span id="cardScanImageDetails"></span>
            </p>

        </div>
    </div>
    <div class="clearall"></div>

    <div class="marginTop50">
        <p><input type="radio" name="radio1" id="optionYes" />Yes, the infomation captured is correct.</p>
        <p><input type="radio" name="radio1" id="optionNo" />No, Please capture again.</p>
    </div>
    <div role="button" class="marginTop50 marginBottom">
        <input type="button" id="getCameraSerialNumbers" value="Capture Again" class="disabled" />
        <input type="button" id="confirmNext"  value="Confirm & Proceed" class="disabled marginLeft50" />
    </div>
</form>

<input type="button" id="getCameraSerialNumbers" value="Capture Again" class="disabled" />ボタンをクリックすると、<div id="list">... </div>にある情報が再びロードされるはずです。

さらに情報が必要な場合はお知らせください。

65
UID

私はいつもこれを使います、完璧に働きます。

$(document).ready(function(){
        $(function(){
        $('#ideal_form').submit(function(e){
                e.preventDefault();
                var form = $(this);
                var post_url = form.attr('action');
                var post_data = form.serialize();
                $('#loader3', form).html('<img src="../../images/ajax-loader.gif" />       Please wait...');
                $.ajax({
                    type: 'POST',
                    url: post_url, 
                    data: post_data,
                    success: function(msg) {
                        $(form).fadeOut(800, function(){
                            form.html(msg).fadeIn().delay(2000);

                        });
                    }
                });
            });
        });
         });
38
Gucho Ca
$("#mydiv").load(location.href + " #mydiv");
102
Peca
$("#myDiv").load(location.href+" #myDiv>*","");

このメソッドが実行されると、location.hrefのコンテンツが取得されますが、jQueryは返されたドキュメントを解析してdivIdを持つ要素を見つけます。この要素は、その内容と共に、resultのID(divId)を持つ要素に挿入され、検索された文書の残りの部分は破棄されます。

$( "#divId")。load(location.href + "#divId> *"、 "");

これが誰かが理解するのを助けるかもしれないことを願っています

実際にどこからデータを引き出すべきかを示すのに十分な情報を提供していませんが、どこかから引き出す必要があります。ロード中のURLを指定したり、データパラメータやコールバック関数を定義したりできます。

$("#getCameraSerialNumbers").click(function () {
    $("#step1Content").load('YourUrl');
});

http://api.jquery.com/load/

7
David L

これを試して

hTMLコード

 <div id="refresh">
    <input type="text" />
    <input type="button" id="click" />
 </div>

jQueryコード

 <script>
    $('#click').click(function(){
    var div=$('#refresh').html();
    $.ajax({
        url: '/path/to/file.php',
        type: 'POST',
        dataType: 'json',
        data: {param1: 'value1'},
    })
    .done(function(data) {
if(data.success=='ok'){
        $('#refresh').html(div);
}else{
// show errors.
}
    })
    .fail(function() {
        console.log("error");
    })
    .always(function() {
        console.log("complete");
    });
    });

</script>

phpページコードのパス=/path/to/file.php

<?php
   header('Content-Type: application/json');
   $done=true;
   if($done){
       echo json_encode(['success'=>'ok']);
   }
?>
5
daulat

必要なのは、データを再度ロードしてdivを再ロードしないことです。

サーバーからデータを取得してDIVを埋めるには、Ajaxクエリーを作成する必要があります。

http://api.jquery.com/jQuery.ajax/

5
user1409909

データをロードしている場所からソースを追加する必要があります。

例えば:

$("#step1Content").load("yourpage.html");

それはあなたを助けます願っています。

2
Shubham Kumar