php
  • jquery
  • html
  • ajax
  • wordpress
  • 2016-05-24 23 views 1 likes 
    1

    WordPressのデータベースからレコードを取得していて、選択タグ(HTML)を動的に作成して値を追加しています。同じページへのAjax呼び出しが機能していません

    <?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で選択したドロップダウンのオンイベントを取得するコードを記述しました。それは成功を返しますが、私はドロップダウンの選択された価値を得ることができません。あなたのAJAX機能のページへのコードの戻り何も

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

    なぜ否定をyourpage.php交換してください。説明していただけますか? –

    +0

    (私はdownvotedしませんでした)。 selectタグから値を受け取るためにAjaxを使用している理由を教えてください。あなたは単純に$( "select [name = 'users']")を実行することができます(change(function(){alert($).val());}); –

    +0

    私はクライアント側(javaquery)ではなく、サーバー側(PHP)にこの値が必要です。 –

    答えて

    0

    セット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> 
    

    以下

    <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> 
    

    +0

    私は試みましたが、それは動作しません。あなたが同じページにajaxコールを送信している場合、urlを設定する必要はありません。 (わからない)。 –

    +0

    これは質問に答えることさえし始めません... – rnevius

    +0

    ajaxコールバック関数のデータは何ですか? –

    関連する問題