0
我的工作,通過在WordPress的法典阿賈克斯參考,並適應他們的榜樣爲管理端插件獲取WordPress管理選擇價值與Ajax
我的插件代碼創建一個Woocommerce產品索引頁新的下拉列表如下:
$dmo_select = '<select onchange="dmo_service_update()">';
foreach ($dmo_service_enhancements as $enhancement) {
$dmo_select .= '<option value="'.$enhancement.'">'.$enhancement.'</option>';
}
$dmo_select .= '</select>';
使用WordPress的法典例如,當我選擇改變可以啓動警報對話:
PHP:
add_action('admin_enqueue_scripts', 'my_enqueue');
function my_enqueue($hook) {
wp_enqueue_script('wtd-dmo-update', plugins_url('ajax-js.js', __FILE__), array('jquery'));
wp_localize_script (
'wtd-dmo-update',
'ajax_object',
array('ajax_url' => admin_url('admin-ajax.php'), 'we_value_3' => 1234)
);
}
add_action('wp_ajax_dmo_service_update_php_2', 'dmo_service_update_php_1');
function dmo_service_update_php_1() {
global $wpdb;
$whatever = intval($_POST['whatever_4']);
$whatever += 10;
echo $whatever;
die();
}
使用Javascript:
function dmo_service_update(){
var data = {
'action': 'dmo_service_update_php_2',
'whatever_4': ajax_object.we_value_3,
};
jQuery.post(ajax_object.ajax_url, data, function(response) {
alert('Got this from the server: ' + response);
});
}
的問題是,由AJAX處理的值(「1234」)時在wp_localize_script()函數調用這似乎設置一切提供的示例中硬編碼。
我需要的是所選擇的選擇框的值。我如何將它傳遞給Ajax,而不是硬編碼的值?
最終,我打算使用dmo_service_update_php_1 php函數將選擇值寫入數據庫。任何指針將非常感激地收到。