对同一页面的Ajax调用无效

时间:2016-05-24 12:24:36

标签: php jquery html ajax wordpress

我从WordPress中的数据库获取记录,然后动态地在select标签(HTML)中创建和添加值。

<?php
global $wpdb;
$registeredUsers = $wpdb->get_results('SELECT * FROM wp_users where user_login != "Admin"',ARRAY_A);
$select='<select name="users" class="form-control" id="users">';
    $select.= '<option value="Select User"> Select User</option>';
         foreach($registeredUsers as $user)
         {
            $select.='<option value="'.$user['user_email'].'">'.$user['user_login'].'</option>';
         }
   $select.='</select>';
?>

我在Html中使用$ select变量,正在正确显示下拉列表。

<form id="a" action="" method="post">
<div style="margin: 0 auto;width:500px;">
<?php echo $select ?>
</div>
</form>

我已经编写了代码来获取jquery中的onchange事件。它返回成功,但我无法获得选定的下拉值。

<script type="text/javascript">
        $(document).ready(function(){
          $("select[name='users']").change(function () {
                jQuery.ajax({
                type: "POST",
                data:  $("form#a").serialize(),
        success: function(data){
            alert("SUCCESS");
                }
                });  
        });
        });
</script>

以下代码不返回任何内容

if(isset($_POST['users'])) {
echo $_POST['users'];
}

1 个答案:

答案 0 :(得分:0)

在你的ajax函数中为你的页面设置url选项:)

<script type="text/javascript">
        $(document).ready(function(){
          $("select[name='users']").change(function () {
                jQuery.ajax({
                type: "POST",
                url:"yourpage.php"
                data:  $("form#a").serialize(),
        success: function(data){
            alert("SUCCESS");
                }
                });  
        });
        });
</script>

替换yourpage.php