【问题标题】:Javascript - Multiple inputs with unique ID and same class, javascript always pulls value from first inputJavascript - 具有唯一 ID 和相同类的多个输入,javascript 总是从第一个输入中提取值
【发布时间】:2021-10-20 20:25:51
【问题描述】:

我有一个 PHP 循环从包含客户评论的数据库中提取值。每次审核后,都有一个“删除”按钮。

这里是 php 循环

<button type="submit" name="delete" id="delete<?php echo $row4["id"];?>" value="<?php echo $row4["id"];?>" class="btn btn-primary delete" data-filter=".check1">Delete</button>
<div class="deleted<?php echo $row4["id"];?>" id="deleted<?php echo $row4["id"];?>"></div>

下面的脚本从“删除”按钮中获取值并使用 ajax 查询来删除记录。然后显示“已删除”消息。

function delete_recommendation(){
    var action = "fetch_data";
    var id = $(".delete").val();
    $.ajax({
    url: "include/recommendation.php",
    method: "POST",
    data: {id:id},
    success: function(){
    $('#deleted'+id).html('Removed!')
    $('#deleted'+id).addClass('text-danger')
    $('#delete'+id).addClass('d-none')
    }
});
}

$('.delete').click(function(){
    delete_recommendation();
});

我遇到的问题是,如果有多个评论,并且我单击任何删除按钮,它总是会删除列出的第一个评论。我不知道如何使这个独一无二。

提前谢谢你!

【问题讨论】:

    标签: javascript loops input uniqueidentifier


    【解决方案1】:

    您可以尝试从单击的按钮的 id 中获取要删除的行的 id。根据 php,它应该从字符索引 6 开始,紧跟在“删除”之后:

    function delete_recommendation( id){
        var action = "fetch_data";
        $.ajax({
        url: "include/recommendation.php",
        method: "POST",
        data: {id:id},
        success: function(){
        $('#deleted'+id).html('Removed!')
        $('#deleted'+id).addClass('text-danger')
        $('#delete'+id).addClass('d-none')
        }
    });
    }
    
    $('.delete').click(function(event){
       // id="delete<?php echo $row4["id"];?>
        delete_recommendation(event.target.id.substring(6));
    });
    

    发布代码的问题在于

    $(".delete").val();
    

    gets the current value of the first element in the set of matched elements.

    【讨论】:

    • 也可以从数据属性中获取 ID :) 只是一个建议
    • 非常感谢!!这正是我所希望的。真的很感激!
    • 不客气。如果您不是在寻找进一步的答案,请随时接受这个:)
    猜你喜欢
    • 2017-04-04
    • 2014-07-30
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 2021-06-28
    • 2023-01-12
    相关资源
    最近更新 更多