0

<table>mysqlデータベースからのデータが入力された状態で表示されている特定のサプライヤーの製品のリストがあります。

この表の中に、各製品にはリンクがあり、クリックすると、UIダイアログに製品の詳細が表示され<div id = "detalhe_produto"></div>ます。ダイアログは開きますが、リストの最初の項目に対してのみ機能します。次の行の他のリンクはダイアログを開きません。

誰か助けてもらえますか?

ui-dialogを開くために使用しているスクリプトは次のとおりです。

<script type="text/javascript">
$(function(){ 

 $('detalhe_produto').click(function(){ 

     var selectedVal=$("#detalhe_produto").val(); 
     var url="produto_detalhe.php?codigo="+selectedVal; 

        var dialog = $("#detalhe_produto"); 
        if ($("#detalhe_produto").length == 0) { 
            dialog = $('<div id="detalhe_produto" style="display:hidden"></div>').appendTo('body'); 
        } 
        dialog.load( 
            url, 
            {},
            function (responseText, textStatus, XMLHttpRequest) { 
                dialog.dialog({                        
                    close: function (event, ui) {                             
                        dialog.remove(); 
                    }, 
                    modal: true, 
                    width: 460 
                }); 
            } 
        ); 
    });  

});
</script>

次に、コードテーブル:

<table border="0" cellpadding="0" cellspacing="3">
  <?php do { ?>
    <tr>
      <td align="left" valign="top" class="lista_produto"><a href="#<?php $_SESSION['codigo_produto'] = $row_lista_produtos['codigo']; $_SESSION['produto'] = $row_lista_produtos['produto']; ?>"><?php echo $row_lista_produtos['codigo']; ?></a></td>
        <td width="15"></td>
    </tr>
    <?php } while ($row_lista_produtos = mysql_fetch_assoc($lista_produtos)); ?>
</table>

に変更しようとしましたhref="#"href="javascript: void (0)" 、結果は同じでした。

提案?

4

2 に答える 2

2

クリックして開くことができる個別のダイアログが多数ある場合.は、IDセレクターの代わりにクラスセレクターを使用する必要があります#。を忘れているかもしれません#

したがって、これの代わりに:

var dialog = $("#detalhe_produto"); 

これを行う:

var dialog = $(".detalhe_produto"); 

* *このjsfiddleを参照してください:http ://jsfiddle.net/trpeters1/uFDdb/2/

ユースケースに固有の複数のダイアログのjqueryUIダイアログの完全に機能するデモンストレーションがあります。つまり、ダイアログには、クリックされたリンクに固有の値が表示されます。

于 2012-05-09T02:20:24.697 に答える
1

あなたはで逃し#$('detalhe_produto').click(function(){

于 2012-05-09T02:19:57.890 に答える