Я хочу перезагрузить 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 на моей странице, который содержит изображения и серийные номера некоторых продуктов ... Который будет поступать из базы данных в первый раз при загрузке страницы. Но если пользователь сталкивается с какой-то проблемой, он нажимает кнопку «Захватить снова», <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>
должна быть загружена снова.
Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация.
Ответы:
Я всегда этим пользуюсь, работает отлично.
$(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); }); } }); }); }); });
источник
delay
поскольку он, согласно документации , задерживает последующие вызовы.$('#loader3', form);
содержит форму? могу я это удалить? потому что я использую изменение, а не отправляю.form
завернутый в jquery, так зачем вы это сделали?$(form).fadeOut(800, function(){
$("#mydiv").load(location.href + " #mydiv");
Всегда обращайте внимание на пробел непосредственно перед вторым знаком # , иначе приведенный выше код вернет всю страницу, вложенную в предполагаемый DIV. Всегда ставьте место.
источник
$("#relation-body").load(location.href+" #relation-body?organization_id="+item.id);
on
событие в jquery вместо прямого доступа к элементу внутри этого div$("#myDiv").load(location.href+" #myDiv>*","");
источник
Когда этот метод выполняется, он извлекает содержимое
location.href
, но затем jQuery анализирует возвращенный документ, чтобы найти элементdivId
. Этот элемент вместе с его содержимым вставляется в элемент с идентификатором результата (divId
), а остальная часть полученного документа отбрасывается.надеюсь, это может помочь кому-то понять
источник
Вы хотите снова загрузить данные, но не перезагружать div.
Вам нужно сделать запрос Ajax, чтобы получить данные с сервера и заполнить DIV.
http://api.jquery.com/jQuery.ajax/
источник
Хотя вы не предоставили достаточно информации, чтобы на самом деле указать, ОТКУДА вы должны получать данные, вам все же нужно получить их откуда-то. Вы можете указать URL-адрес в загрузке, а также определить параметры данных или функцию обратного вызова.
$("#getCameraSerialNumbers").click(function () { $("#step1Content").load('YourUrl'); });
http://api.jquery.com/load/
источник
Попробуй это
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 = / путь / к / file.php
<?php header('Content-Type: application/json'); $done=true; if($done){ echo json_encode(['success'=>'ok']); } ?>
источник
Вам нужно добавить источник, откуда вы загружаете данные.
Например:
$("#step1Content").load("yourpage.html");
Надеюсь, это поможет вам.
источник
Я знаю, что тема старая, но вы можете объявить Ajax как переменную, а затем использовать функцию для вызова переменной для желаемого содержимого. Имейте в виду, что вы вызываете то, что у вас есть в Ajax, если вам нужны элементы, отличные от Ajax, которые вам нужно указать.
Пример:
Var infogen = $.ajax({'your query')}; $("#refresh").click(function(){ infogen; console.log("to verify"); });
Надежда помогает
если не попробуй:
$("#refresh").click(function(){ loca.tion.reload(); console.log("to verify"); });
источник
$(document).ready(function() { var pageRefresh = 5000; //5 s setInterval(function() { refresh(); }, pageRefresh); }); // Functions function refresh() { $('#div1').load(location.href + " #div1"); $('#div2').load(location.href + " #div2"); }
источник