我在同一页面有多个按钮,比如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