我在同一頁面有多個按鈕,比如50個可能更多,以提交單個值到Ajax wordpress的方式。它們看起來像這樣:同一頁面中的多個按鈕提交到Ajax
<input id="1-57977357564a7" class="button-primary" type="submit" value="Done"/>
<input id="2-57977357564a7" class="button-primary" type="submit" value="Done"/>
<input id="3-57977357564a9" class="button-primary" type="submit" value="Done"/>
// And so on, more buttons
每個按鈕都應該更新某些數據庫表中的行。 應該使用Ajax
add_action('wp_ajax_update_completed_todos', 'update_completed_todos');
add_action('wp_ajax_nopriv_update_completed_todos', 'update_completed_todos');
function update_completed_todos() {
global $wpdb;
$table_name = $wpdb->prefix . 'todos';
$id = '';// Need to pass the id here some how
$result = $wpdb->get_results("SELECT id FROM " . $table_name . " WHERE id = '" .$id."'");
if (count ($result) > 0) {
$wpdb->update(
$table_name,
array(
'complete' => '10',
),
array('id' => $id)
);
}
}
我需要通過一些id
如何調用這個函數update_completed_todos()
。
我應該在Ajax中寫什麼來通過id
?
以及我如何讓每個按鈕定位到這個Ajax?
由於Ajax可能不會通過id
而不是值,我應該怎麼做才能將任何值傳遞給Ajax?
阿賈克斯應該是這樣的:
$.ajax({
url: "<?php echo esc_js(admin_url('admin-ajax.php')) ?>",
type: "POST",// I am not sure
data: // Something I don't know here
//may be more here
});
使用的onclick = 「update_completed_todos( '你PARAM這裏')」 和代替type =「submit」use type =「button」 – Abbas
@Abasbas我想oncl ick =不能使用php函數。這不回答我的問題的ajax部分。 「其實這並不涉及我的問題,因爲我明確提到這是一個Ajax問題。 – Yamona