我有一个特定供应商的产品列表,显示在<table>
中,填充了我的mysql数据库中的数据。
在此表中,每个产品都有一个链接,单击该链接时,应在ui对话框<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)"
结果是一样的。
建议?
答案 0 :(得分:2)
如果您有许多可以单击打开的不同对话框,则需要使用类选择器.
而不是ID选择器#
。您可能也忘记了#
。
所以不要这样:
var dialog = $("#detalhe_produto");
这样做:
var dialog = $(".detalhe_produto");
* *请参阅此jsfiddle :http://jsfiddle.net/trpeters1/uFDdb/2/
它有一个jqueryUI对话框的完整工作演示,用于特定于您的用例的多个对话框。意思是,对话框显示特定于单击链接的值。
答案 1 :(得分:1)
您错过了#
$('detalhe_produto').click(function(){