【发布时间】:2020-08-06 18:51:03
【问题描述】:
我有一个显示赔率类型的选择字段。每个字段的赔率调用不同的值,该值需要使用 Ajax 更改并显示在 Odds.php 上。
如何使用 jQuery 和 WP 函数通过 Ajax 传递 Select 字段的值?
赔率.php
<select id="typeOdds" class="uk-select">
<option selected disabled>Choose Odds Type</option>
<option value="spread">Spread</option>
<option value="total">Total</option>
<option value="moneyline">Moneyline</option>
</select>
这是当赔率类型改变时我需要改变的变量:
$pregameodds->AwayPointSpread 转为$pregameodds->AwayMoneyLine
这是我的 Ajax 代码示例,但无处可去...
$('#typeOdds').change(function(){
$.ajax({
url: "/wp-admin/admin-ajax.php",
type: "post",
success: function(data){
// my value from select field
}
});
});
更新了我的问题:
当我调用“typeOdds”时,我看不到。但在 console.log 和 alert 中显示的是我的值。
我的赔率.js
jQuery('#typeOdds').on('change', function($) {
var val = jQuery('#typeOdds').val();
console.log( '_type is changed to ' + val );
var data = {
'action': 'my_action',
'type': 'post',
'typeOdds': val
};
jQuery.post(ajaxurl, data, function(response) {
alert( 'Got this from the server: ' + response );
});
});
我的函数.php
add_action( 'wp_ajax_my_action', 'my_action' );
add_action( 'wp_ajax_nopriv_my_action', 'my_action' );
function my_action() {
global $wpdb;
$typeOdds = $_POST['typeOdds'];
echo $typeOdds;
}
我对 Odds.php 的条件
if ( $typeOdds == 'spread' ) {
$spreadPoint = $pregameodds->AwayPointSpread;
} elseif ( my_action() == 'moneyline' ) {
$moneylinePoint = $pregameodds->AwayMoneyLine;
}
【问题讨论】: