Обновите/перезагрузите контент в Div, используя jquery/ajax
Я хочу перезагрузить 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">
a <div id="list">....</div>
следует перезагрузить без загрузки или обновления полной страницы.
Ниже JQuery, который я пробовал, но не работал: -
$("#getCameraSerialNumbers").click(function () {
$("#step1Content").load();
});
Просьба предложить.
Здесь находится DIV на моей странице, которая содержит изображения и серийные номера некоторых продуктов... которые будут поступать из базы данных в первый раз на странице Load. Но есть ли у пользователя какие-то проблемы, он нажмет кнопку "Capture Again" "<input type="button" id="getCameraSerialNumbers" value="Capture Again">
", которая снова загрузит эту информацию.
Код HTML Div: -
<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>
, должна быть загружена снова.
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Ответы
Ответ 1
Я всегда использую это, отлично работает.
$(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);
});
}
});
});
});
});
Ответ 2
$("#mydiv").load(location.href + " #mydiv");
Ответ 3
$("#myDiv").load(location.href+" #myDiv>*","");
Ответ 4
Когда этот метод выполняется, он извлекает содержимое location.href
, но затем jQuery анализирует возвращенный документ, чтобы найти элемент с divId
. Этот элемент вместе с его содержимым вставляется в элемент с идентификатором (divId
) результата, а остальная часть извлеченного документа отбрасывается.
$( "# divId" ). load (location.href + "#divId > *", "");
надеюсь, что это может помочь кому-то понять
Ответ 5
Пока вы не предоставили достаточно информации, чтобы фактически указать, ГДЕ вы должны извлекать данные, вам нужно вытащить его откуда-то. Вы можете указать URL-адрес в загрузке, а также определить параметры данных или функцию обратного вызова.
$("#getCameraSerialNumbers").click(function () {
$("#step1Content").load('YourUrl');
});
http://api.jquery.com/load/
Ответ 6
То, что вы хотите, это снова загрузить данные, но не перезагрузить div.
Вам нужно сделать запрос Ajax для получения данных с сервера и заполнить DIV.
http://api.jquery.com/jQuery.ajax/
Ответ 7
Попробуйте это
html code
<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 page code path =/path/to/file.php
<?php
header('Content-Type: application/json');
$done=true;
if($done){
echo json_encode(['success'=>'ok']);
}
?>
Ответ 8
Вам нужно добавить источник, откуда вы загружаете данные.
Например:
$("#step1Content").load("yourpage.html");
Надеюсь, это поможет вам.