我有一个div,其中我使用<div id="collapse2" class="panel-collapse collapse">
<div class="panel-body">
<div class="logininput">
<?php do_action( 'woocommerce_checkout_billing' ); ?>
<button id="sendmail3" class="btn btn-info">Submit</button>
</div>
</div>
</div>
如下:
sendmail3
当我点击按钮jQuery("#sendmail3").click(function(){
var country = jQuery("#billing_country").val();
var address = jQuery("#billing_address_1").val();
var city = jQuery("#billing_city").val();
var state = jQuery("#billing_state").val();
//alert(state);
var pincode = jQuery("#billing_postcode").val();
var SecondData = "country="+country+"&address="+address+"&city="+city+"&state="+state+"&pincode="+pincode;
var currenturl = jQuery(location).attr('href');
var url = currenturl;
jQuery.ajax({
dataType : 'html',
type: 'GET',
url : url,
data : SecondData,
complete : function() { },
success: function(data)
{
jQuery("#collapse2").hide();
jQuery("#collapse3").show();
}
});
});
时,会触发一个jquery,如下所示:
collapse3
我还有一个div <div id="collapse3" class="panel-collapse collapse">
<div class="panel-body">
<form name="checkout" method="post" class="checkout woocommerce-checkout" action="<?php echo esc_url( $get_checkout_url ); ?>" enctype="multipart/form-data">
<div id="hideform">
<?php do_action( 'woocommerce_checkout_billing' ); ?>
</div>
<h3 id="order_review_heading"><?php _e( 'Your order', 'woocommerce' ); ?></h3>
<?php do_action( 'woocommerce_checkout_before_order_review' ); ?>
<div id="order_review" class="woocommerce-checkout-review-order">
<?php do_action( 'woocommerce_checkout_order_review' ); ?>
</div>
<?php do_action( 'woocommerce_checkout_after_order_review' ); ?></div>
</form>
<?php do_action( 'woocommerce_after_checkout_form', $checkout ); ?>
</div>
如下:
sendmail3
在此div数据中动态加载
我想要的是,当我点击collapse3
按钮时,只应重新加载div obj.cache
。如何在不刷新页面的情况下重新加载此div
答案 0 :(得分:2)
我认为这会奏效。
success: function(data)
{
jQuery("#collapse2").hide();
jQuery("#collapse3").append(data); //I change this to .append() or try .html(data);
}
希望这有效。
答案 1 :(得分:2)
您可以使用 load()方法:
从服务器加载数据并将返回的HTML放入匹配的元素中。
'list'
内置jQuery逻辑的一种非常干净的方式。查看完整文档:http://api.jquery.com/load/
答案 2 :(得分:1)
这个想法是在特定的div中获取你的页面,就像你在ajax调用问题中提到的那样,然后将数据返回给同一个div。
例如:
$("#sendmail3").click(function(){ var getdata= $("#collapse3").html(); ...
然后进行ajax调用并输入:
success: function(whatever-result) { $("#collapse3").html(getdata);...
只会刷新ID为
的div<强>更新强>
我认为您希望通过此提到的div发送您的表单,然后重新加载div以再次显示该表单,这是另一种解决方案:
$("yourform").submit(function(event){
var target =$(this).attr('action');
event.preventDefault();
$.post( target, $(this).serialize(), function(data){
$("#supposed-div").html(data);// this will force submitting this form only through this div
});
});
然后你可以使用JavaScript,JQuery或AJAX调用,它可以通过上面的代码,让表单按原样进入div。
在这个答案的开头,我曾经建议获得$("div").html();
并将其作为 var getdata ,以便在提交后很容易再次放入 div.html