2

ユーザーが A - Z から文字を選択して、ユーザー名がその文字で始まるユーザーのリストを選択できるフォームに取り組んでいます。

私がやろうとしているのは、ユーザーが文字をクリックすると、クリックされた文字で始まるユーザー名を取得するデータベースクエリを実行するためにphpスクリプトが呼び出されることです。

http://openenergymonitor.org/emon/node/107を開始したこのページと、やりたいことに近いこのページを見つけました。単純な Ajax Jquery スクリプト - それぞれの情報を取得するにはどうすればよいですかテーブルの行?

返された結果でやりたいことは、それらを SELECT リストに入れ、ユーザーが別の文字をクリックすると、そのリストの内容が新しいクエリ結果に置き換えられます。

よくわからないのは、その文字で始まるユーザー名をデータベースで検索できるように、可能であれば文字をphpスクリプトに渡す方法です。

編集:うまくいけばこれに改善されましたが、Ajaxエラーが発生しています:ParseError

これはこれまでの私のコードです

<div>
        <ul>
            <li class="alphabets" id="All">All</li>
            <li class="alphabets" id="A">A</li>
            <li class="alphabets" id="B">B</li>
            <li class="alphabets" id="C">C</li>
            <li class="alphabets" id="D">D</li>
    </ul>
</div>
<div id="recipients">
    $(document).ready(function(){
                $("li.alphabets").click(function(){
                    var the_letter = $(this).text();
                    alert(the_letter);

                    $.ajax({                                      
                        url: 'php/selectuser.php', type: 'GET', data: {'letter':the_letter}, dataType: 'json',  success: function(rows) {
                            var options = '';
                            for (var i in rows) {
                                var row = rows[i];          
                                var id = row[0];
                                var vname = row[1];

                                options += '<option value="' + id + '">' + vname + '</option>';
                            } 
                            $("#userlist").html(options);
                        } 
                    });
                });
            });
    <select id="userslist" name="recipients" size="5">



    </select>
</div>
4

1 に答える 1

2

jQuery の .ajax() メソッドには、変数を渡すことができるdataというパラメーターがあります。

// Get letter from SELECT element
the_letter = $("#myselect").val();

$.ajax({ 
  url:  'somepath/to/my/script.php',
  type: 'GET',
  data: {'letter':the_letter} 
});

これは GET パラメータとして渡され、PHP スクリプトで次のように簡単に取得できます。

$letter = $_GET['letter'];
于 2012-08-01T15:47:26.600 に答える