0

我有一个特定供应商的产品列表,其中显示了<table>我的 mysql 数据库中的数据。

在此表中,每个产品都有一个链接,单击该链接时,应在 ui-dialog 中显示产品详细信息<div id = "detalhe_produto"></div>。该对话框确实打开,但是,它仅适用于列表中的第一项。以下行的其他链接不会打开对话框。

谁能帮我?

这是我用来打开 ui 对话框的脚本:

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