jquery - Ajax加载wordpress模板部分

标签 jquery ajax wordpress

我在付款方式表单中有 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/

相关文章:

php - WordPress 更新导致问题

javascript - DOMSubtreeModified 在 chrome 中不起作用

javascript - jQuery 各有 SetTimeout

javascript - "Push"通知用户

javascript - 使用 jQuery 或其他可能的方法在单击时显示更多子类别

php - 在 wordpress 中将菜单(导航)项更改为大写

php - 如何将 get 字符串转换为 slug?

javascript - 为拖放的 selenium UI 集成测试执行 Javascript - Java

php - 如果我有获取参数,刷新页面的按钮不起作用

javascript - 发布前的 ajax 条件变量