0

我想使用 Jquery 对话框在具有从数据库调用的多行的页面上显示注释 - 每行都有一个链接来显示一个对话框,该对话框应该显示该行的相关内容。

该对话框工作正常,但我无法从链接中获取值,因此我可以在显示对话框的 div 中查询数据库。

当有人单击图像时,我希望它显示该行的注释 - 这是我到目前为止的代码。我知道我没有发送值,因为我不知道如何发送 - 我怎样才能将行 ID 附加到每行的图像上,然后在对话框打开时使其在对话框中可用,以便显示该注释?

<script>
$(function() {
        $("#jui-dialog").dialog({
    autoOpen: false, 
    title: "Note", 
    modal: true, 
    width: "640", 
    buttons: [{
            text: "Close note", 
            click: function() {
                $( this ).dialog( "close" );
            }}]
});
    $("#jui-dialog-mdl-btn").bind("click", function(event) {
    $("#jui-dialog").dialog("option", {modal: true}).dialog("open");
    event.preventDefault();
});
});
</script>

<while begins>
<img src="/icons/16/note.png" title="View employee note" alt="View employee note" id="jui-dialog-mdl-btn">
<input type="hidden" value="<?=$id?>">
<while ends>



                        <div id="jui-dialog">
                            <div class="dialog-inner">
                                <?php                                   
                                $query=mysql_query("SELECT content from notes WHERE id='$id'");
                                $count=mysql_num_rows($query);
                                $row=mysql_fetch_array($query);
                                $note=$row['content'];
                                print $note;
                                ?>
                            </div>
                        </div>
4

1 回答 1

1

首先:永远不要在while循环中使用id,因为你不能在同一页面上使用两个相同的id。你可以使用类。您可以使用您的以下代码:

<img src="/icons/16/note.png" title="View employee note" alt="View employee note" class="jui-dialog-mdl-btn">
<input type="hidden" value="<?=$id?>">

要获取员工的 ID:

$('.jui-dialog-mdl-btn').click(function() {
        var id = $(this).next('input').val();
        //process whatever you like
});

要接收您想要显示的数据,您可以使用隐藏的 div,如下所示:

<img src="/icons/16/note.png" title="View employee note" alt="View employee note" class="jui-dialog-mdl-btn">
<input type="hidden" value="<?=$id?>">
<div class="dialoginfo" style="display:none;"><!--code to show in your dialog--></div>

然后在jquery中:

$('.jui-dialog-mdl-btn').click(function() {
    var id = $(this).next('input').val();
    $(this).next('.dialoginfo').dialog(/*options*/);
    //process whatever you like
});

当然你的实现可能会有所不同,但我希望你有足够的片段

于 2012-09-04T20:37:22.023 回答