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