0

好的,我尝试使用 jquery ajax 来实现相同的效果。但是现在系统总是显示第一个 id。我点击哪个edit_subscriber 图像并不重要。这就是我所做的:

jQuery代码:

    jQuery(".edit_subscriber").click( function() {


    jQuery('.dialog-modal').dialog({
    modal: true,
    open: function ()
    {
        jQuery.ajax({
            async: false,
            type: 'get',
            url: nieuwsbrief.editsubscriber,
            data: 'ajax=&subscriber_id=' + jQuery('.edit_subscriber').prop('id'),
                success: function(data) {
                    jQuery('.dialog-modal').html(data);
                }
        });
    },
    close: function ()
    {

    },         
    height: 400,
    width: 600,
    title: 'Ajax Page'
});
    return false;
});

html代码:

echo '<div class="dialog-modal" title="Basic modal dialog" style="display: none;"></div>';

编辑订阅者.php:

<?php
 include_once $_SERVER['DOCUMENT_ROOT'] . '/www/wordpress/wp-config.php';
 include_once $_SERVER['DOCUMENT_ROOT'] . '/www/wordpress/wp-load.php';
 include_once $_SERVER['DOCUMENT_ROOT'] . '/www/wordpress/wp-includes/wp-db.php';

 global $wpdb;

 echo $_GET['subscriber_id'];

 ?>
4

1 回答 1

1

脚本的问题是,您id对所有对话框模型都使用相同的,当您单击 时edit_subscriber,它会从 id 中选择对话框,并且当您选择表单 id 时,它总是会获得第一个元素身份证。

具有相同 ID 的多个元素无效。

所以你可以试试这个。

只需替换此代码

echo '<div id="dialog-modal" title="Basic modal dialog" style="display: none;">
       Naam: <input type = "text" name = "subscriber_name" id = "'.$abonnee->subscriber_id.'" value = "'.$abonnee->subscriber_name.'"> <br />
</div>';

有了这个

 echo '<div class="dialog-modal" title="Basic modal dialog" style="display: none;">
       Naam: <input type = "text" name = "subscriber_name" id = "'.$abonnee->subscriber_id.'" value = "'.$abonnee->subscriber_name.'"> <br />
</div>';

并将js函数更改为:

jQuery(".edit_subscriber").click( function() {
    $(this).closest('tr').next().dialog({
        modal: true,
        open: function (){},
        close: function (){},         
        height: 400,
        width: 600,
        title: 'Ajax Page'
    });
});

正如您所放置的那样divtr这也不是有效的标记。

于 2013-06-10T14:18:49.893 回答