私は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
各ボタンはあるデータベーステーブルの行で更新する必要があります。 それは私がid
この機能にはいくつかの方法を渡す必要があり
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)
);
}
}
アヤックス
使用update_completed_todos()
を呼び出す必要があります。
id
を渡すには、Ajaxで何を書くべきですか?
そして、どのボタンをこのAjaxのターゲットにすることができますか?
Ajaxは値の代わりに
id
を渡すことができないため、ここでAjaxに値を渡すにはどうすればよいですか?
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
@Abbas私はonclだと思いますick = php関数では動作しません。これは私の質問のajax部分には答えません。 「実際には、これは私の質問に全く関係していません。私が明らかに言ったように、それはajaxの問題です。 – Yamona