我在付款方式表单中有 2 个单选按钮 - 我想通过 ajax 单击时加载模板部分。
现在我只能加载信用卡表单 - 我想做的是,如果选择了信用卡,则加载信用卡模板,如果选择了 Paypal ,则加载 Paypal 模板部分。
表单元素
<input type="radio" class="radio-cc" name="method" value="creditcard"><span class="radio-span">Credit Card</span>
<input type="radio" class="radio-paypal" name="method" value="paypal"><span class="radio-span">Paypal</span>
jQuery
$("input[name=method]").change(function(){
$.ajax({
type: 'GET',
url: '<?php echo admin_url('admin-ajax.php');?>',
data: {
action: 'CCAjax'
},
success: function(textStatus){
$( '.default-form' ).append( textStatus );
},
error: function(MLHttpRequest, textStatus, errorThrown){
alert(errorThrown);
}
});
});
PHP
function CCAjax()
{
get_template_part('cc');
die();
}
// creating Ajax call for WordPress
add_action('wp_ajax_nopriv_CCAjax', 'CCAjax');
add_action('wp_ajax_CCAjax', 'CCAjax');
最佳答案
您必须传递所选方法的值:
jQuery
$("input[name=method]").change(function(){
var chosenmethod = $(this).val();
$.ajax({
type: 'GET',
url: '<?php echo admin_url('admin-ajax.php');?>',
data: { action : 'CCAjax', chosen : chosenmethod },
success: function(textStatus){
$( '.default-form' ).html( textStatus );
},
error: function(MLHttpRequest, textStatus, errorThrown){
alert(errorThrown);
}
});
});
PHP
function CCAjax()
{
if($_POST['chosen']=='creditcard'){
get_template_part('cc');
} else {
get_template_part('paypal');
}
exit();
}
// creating Ajax call for WordPress
add_action('wp_ajax_nopriv_CCAjax', 'CCAjax');
add_action('wp_ajax_CCAjax', 'CCAjax');
关于jquery - Ajax加载wordpress模板部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27004195/