首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过jQuery将PHP调用与来自PHP的动态参数绑定

如何通过jQuery将PHP调用与来自PHP的动态参数绑定
EN

Stack Overflow用户
提问于 2015-08-05 09:21:29
回答 2查看 1.1K关注 0票数 2

我是jQuery的新手-这是我第一次尝试.我已经做了两天了,但不能让它工作.

有一个列表,由PHP动态创建。如果用户使用fontawese-减号图标单击span元素,则应向删除单个条目的API触发XHR请求。如果我使用一个按钮元素,该函数将按原样执行,但我不知道如何使它与动态添加的ID一起工作,以及如何将它们传递给AJAX查询。

很多时间,有功能,点击等等,都不适合我.

Ajax部分:

代码语言:javascript
复制
   <script charset="UTF-8" type="text/javascript">
        jQuery(document).ready( function($) {
            $("button").click(function (e) {
                var getthevalue = $(e).attr('id');
                alert(getthevalue);
                console.log("Abfrage ob LFZ geloescht werden soll.");
                swal({
                        title: "LFZ aus Flotte loeschen?",
                        text: "Das ausgewaehlte Luftfahrtzeug wirklich aus Ihrer persönlichen Flotte loeschen?",
                        type: "warning",
                        confirmButtonColor: "#DD6B55",
                        confirmButtonText: "Yes, delete it!",
                        cancelButtonText: "No, cancel pls!",
                        showCancelButton: true,
                        closeOnConfirm: false,
                        showLoaderOnConfirm: true,
                    },
                    function () {

                        console.log("Starte XHR Request zum loeschen eines LFZ aus der eigenen Flotte");
                        $.post("http://____/fleetdb_removeFromOwnFleet.php",
                            {
                                userId: "<? echo $toolbox_user_id; ?>",
                                userPasswd: "<? echo getUserPasswd($toolbox_user_id); ?>",
                                lfzDbId: "lalala"
                            },
                            function(data,status){
                                alert("Data: " + data + "\nStatus: " + status);
                            });

                        setTimeout(function () {
                            swal("Ajax request finished!");
                        }, 2000);
                    });
            });
        });
        </script>

HTML,动态输出部分:

代码语言:javascript
复制
    <?
    $sql = $wpdb->get_results("SELECT * FROM `xx` WHERE `user_id`='$toolbox_user_id'");
    foreach ($sql as $dbentry) {
        $lfzId = $dbentry->lfz_id;
        $sql2 = $wpdb->get_results("SELECT * FROM `xx` WHERE `id`='$lfzId'");
        foreach ($sql2 as $lfzdbentry) {
            $dbEntryId = $lfzdbentry->id;
            $lfzReg = $lfzdbentry->reg;
            $lfzManufacturer = $lfzdbentry->manufacturer;
            $lfzType = $lfzdbentry->type;
            $lfzHomebase = $lfzdbentry->homebase;
            ?>
            <tr>
                <td>##</td>
                <td><? echo "#".$dbEntryId." "; ?><? echo $lfzReg; ?></td>
                <td><? echo $lfzManufacturer." ".$lfzType; ?></td>
                <td>
                    <span class="tooltips" style="cursor: pointer;">
                        <a rel="tooltip" data-original-title="Dieses LFZ aus der Flotte entfernen">
                            <span style=" color: #A4C62D;"><i class="fa fa-minus-square"></i></span>
                        </a>
                    </span>
                   [...morespanswithfunctions...]
                </td>
            </tr>
            <?
        }
    }
    ?>

如何将$dbEntryId传递给jQuery调用?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-05 09:36:08

选项1

首先,您不希望在<button>上触发click。因此,您可以做的是:在html中添加一个按钮,如下所示:

代码语言:javascript
复制
<button class="delete" id="<? echo $dbEntryId; ?>">Delete</button> 

比在你的jQuery中:

代码语言:javascript
复制
$("button.delete").click(function () {
    var $this = $(this), // Pointing to the clicked element (a button in this case)
    $getTheValue = $this.attr('id');
    alert($getTheValue);

选项2

在html编辑中:

代码语言:javascript
复制
<a rel="tooltip" data-original-title="Dieses LFZ aus der Flotte entfernen">
    <span style=" color: #A4C62D;"><i class="fa fa-minus-square"></i></span>
</a>

至:

代码语言:javascript
复制
<a class="delete" rel="tooltip" data-original-title="Dieses LFZ aus der Flotte entfernen" data-id="<? echo $dbEntryId; ?>">
    <span style=" color: #A4C62D;"><i class="fa fa-minus-square"></i></span>
</a>

然后在jQuery

代码语言:javascript
复制
$("a.delete").click(function () {
        var $this = $(this), // Pointing to the clicked element (a button in this case)
        $getTheValue = $this.data('id');
        alert($getTheValue);

您还可以尝试在以下内容之一上添加选项2:span,甚至您的i icon

我希望这对你有所帮助。如果没有,请告诉我。

票数 1
EN

Stack Overflow用户

发布于 2015-08-05 09:39:41

您需要通过每个链接传递一个唯一的id。

试着做这样的事情:

代码语言:javascript
复制
<?
    $sql = $wpdb->get_results("SELECT * FROM `xx` WHERE `user_id`='$toolbox_user_id'");
    foreach ($sql as $dbentry) {
        $lfzId = $dbentry->lfz_id;
        $sql2 = $wpdb->get_results("SELECT * FROM `xx` WHERE `id`='$lfzId'");
        foreach ($sql2 as $lfzdbentry) {
            $dbEntryId = $lfzdbentry->id;
            $lfzReg = $lfzdbentry->reg;
            $lfzManufacturer = $lfzdbentry->manufacturer;
            $lfzType = $lfzdbentry->type;
            $lfzHomebase = $lfzdbentry->homebase;
            ?>
            <tr>
                <td>##</td>
                <td><? echo "#".$dbEntryId." "; ?><? echo $lfzReg; ?></td>
                <td><? echo $lfzManufacturer." ".$lfzType; ?></td>
                <td>
                    <span class="tooltips" style="cursor: pointer;">
                        <a rel="tooltip" data-original-title="Dieses LFZ aus der Flotte entfernen">
                            <a href="javascript;" id="<?php echo $dbEntryId;?>" onclick="functioname(this.id)">
                              <span style=" color: #A4C62D;"><i class="fa fa-minus-square"></i></span>
                            </a>
                        </a>
                    </span>
                   [...morespanswithfunctions...]
                </td>
            </tr>
            <?
        }
    }
    ?>

在jQuery中调用函数并获取id。现在您可以使用这个id:

代码语言:javascript
复制
functionname(id){

    alert(id);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31828365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档