1

データベースのすべてのテーブル リストをドロップ ダウン メニューに表示し、ユーザーがテーブル名を選択できるようにしたいと考えています。ユーザーがテーブル名を選択すると、すべてのデータが表示されます。htmlファイルはこんな感じ

<!DOCTYPE html>
<html>
<head>
    <script src="jquery.js"></script>
    <script>
        $(document).ready(function(){

            $.ajax({url:"home.php?id=1",
                success:function(result){
                    $("#div1").html(result);                 
                }}); 

            $("#dropdown").change(function(){
                alert("list item selected");
                $.ajax({url:"home.php?id=2&tablename="+tableForm.tableLists.value,
                    success:function(result){
                        $("#div2").html(result);
                    }}); 
            });
        });

    </script>
</head>
<body>
    <button value="add" >
        <form name="tableForm"> 
            <div id="div1"></div>
        </form>
    </button>
    <br><hr>
    <div id="div2"></div>
</body>

このページは正常に実行され、データベースに属するすべてのテーブル名のリストが表示されます。しかし、ドロップダウンリストから値を選択しても、「リスト項目が選択されました」というメッセージが表示されません。それを機能させるために何をしますか??

ここにドロップダウンリストの画像があります ここに画像の説明を入力

4

3 に答える 3

2

ドロップダウン ボックスがページに動的に読み込まれるように見えるため、次を使用して動的に追加された要素に関数をバインドする必要があります.on()

$(document).on('change', '#dropdown', function(){
    console.log("list item selected");
    // do whatever here
});
于 2012-11-23T10:45:08.790 に答える
0

あなたのコードがあなたがあなたのドロップダウンを動的に移入していることを示唆しているようにそしてあなたのコードであなたは機能しないローカルイベントを与えてい.on .bind .liveます.onまたは.live、コードは次のようになっている必要があります。

$("#dropdown").live('change',function(){
    alert("list item selected");
    $.ajax({
       url:"home.php?id=2&tablename="+tableForm.tableLists.value,
       success:function(result){
            $("#div2").html(result);
          }
    }); 
});

またはこれ:

 $("#dropdown").on('change',function(){
    alert("list item selected");
    $.ajax({
       url:"home.php?id=2&tablename="+tableForm.tableLists.value,
       success:function(result){
            $("#div2").html(result);
          }
    }); 
});
于 2012-11-23T10:55:00.553 に答える
0

ドロップダウン ボックスがページに動的に読み込まれると思います。あなたはそのように使うことができます

$("#dropdown").on('change',function(){
                alert("hoi");
                $.ajax({url:"home.php?id=2&tablename="+tableForm.tableLists.value,
                    success:function(result){
                        $("#div2").html(result);
                    }}); 
            });
于 2012-11-23T10:47:07.193 に答える