1

現在、次のコードを使用してmysqlレコードを編集するためのダイアログボックスを表示していますが、私の問題は、ダイアログボックスを表示するために使用するボタンがwhileループを通過して、任意のレコードを編集できるようにすることですが、何が起こっているのですか?一番上のボタンでダイアログボックスが表示されますが、2番目と3番目などで、なぜこれが発生するのかを理解しました。これは、すべて同じ「id」を持っているためですが、私の質問は、何百ものダイアログボックスを書き込まずにボタンのいずれかをクリックすると、ダイアログボックスが表示されます。

    $( "#edit" ).dialog({
                autoOpen: false,
                draggable: false,
                modal: true,
                width: "322",
                buttons: {
                    "Add to Log": function() {
                      $( this ).dialog( "close" );  
                    },
                    Exit: function() {
                        $( this ).dialog( "close" );
                    }
                }

            });

            $( "#editi" ).click(function() {
                $( "#edit" ).dialog( "open" );
                return false;
            });
</script>


 <button id="editi">Edit</button> // normally goes thru a while loop and is reapeted 5 or 6 times but only the frist one genrated works

    <div class="edit" id="edit" title="Edit Entry" style="font-size:15px">
    <p>hello</p>
4

3 に答える 3

2
$("#edit").dialog({
                autoOpen: false,
                draggable: false,
                modal: true,
                width: "322",
                buttons: {
                    "Add to Log": function() {
                      $( this ).dialog( "close" );  
                    },
                    Exit: function() {
                        $( this ).dialog( "close" );
                    }
                }

            });

/*this is the area that is looped*/
            $(".editi").click(function() {
                $( "#edit" ).dialog( "open" );
                return false;
            });
</script>


 <button class="editi">Edit</button>

    <div class="edit" id="edit" title="Edit Entry" style="font-size:15px">
    <p>hello</p>
于 2012-05-16T04:48:39.047 に答える
1

同じID(editi)を数回繰り返していますか?buttonClassのようなクラスを作成し、次のようにボタンを接続することをお勧めします。

        $( ".buttonClass" ).click(function() { 
            $( "#edit" ).dialog( "open" ); 
            return false; 
        }); 
于 2012-05-16T04:44:35.080 に答える
0

クラスをidとして保持するのではなく、editiとして保持します。そのためには、次のようにします。

$('.editi').click(function(){
   //do what you want to do
})
于 2012-05-16T04:47:38.350 に答える