Javascript 如何使用php、AJAX或MySQL使delete按钮以正确的ID完全正常工作?
我对此有一个小问题,每个删除按钮都应该删除自己id的记录。如果我们单击164,它必须删除164的记录。如果我删除ajax并要求表单直接验证,它可以正常工作,但是如果我使用ajax,它只会删除第一条记录,而不管我按什么按钮。例如,在当前场景中,即使我按164按钮,它也会删除159条记录。我的代码给出了以下输出:请记住,如果我要求表单直接从其他PHP文件进行验证,那么效果很好。Javascript 如何使用php、AJAX或MySQL使delete按钮以正确的ID完全正常工作?,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我对此有一个小问题,每个删除按钮都应该删除自己id的记录。如果我们单击164,它必须删除164的记录。如果我删除ajax并要求表单直接验证,它可以正常工作,但是如果我使用ajax,它只会删除第一条记录,而不管我按什么按钮。例如,在当前场景中,即使我按164按钮,它也会删除159条记录。我的代码给出了以下输出:请记住,如果我要求表单直接从其他PHP文件进行验证,那么效果很好。 尝试var delete_id=$(event.target).val()而不是:var delete_id=$('#d
尝试
var delete_id=$(event.target).val()代码>而不是:var delete_id=$('#delete_id').val()代码>第一个ID必须唯一,以便使用
class="delete_id"
而不是
id="delete_id"
第二次删除onclick=“vlid();”
并使用
$(document).ready(function(){
$('body').on('click','.delete_id',function(){
var getValue = parseInt($(this).val());
$.post('validator.php',{postdelete_id : getValue},function(data){
$('#del').html(data);
});
});
});
并删除删除使用的tr
$(document).ready(function(){
$('body').on('click','.delete_id',function(){
var thisBtn = $(this);
var getValue = parseInt(thisBtn .val());
$.post('validator.php',{postdelete_id : getValue},function(data){
$('#del').html(data);
thisBtn.closest('tr').remove();
});
});
});
问题是,在vlid()函数中,JQuery只选择id=delete\u id的第一个元素。我会尝试将id传递给vlid()函数,如下所示:
<input type="button" ... onclick="vlid(<?php echo $row['ID'];?>)"/>
是。我完全按照你现在建议的方式试过了。它甚至不能通过这样做获得值。在输入代码后,我键入了警报(删除\u id),以确保它获得正确的id。感谢您的帮助,但它不起作用。更新后,您应该使用$(event.target)
而不是$(this)
,抱歉,我的错误。我已经测试过了,它对我很有用。非常感谢。你解决了我的问题。好吧,现在我想记录消失或立即消失时,他们被删除,而不刷新页面。你能帮我吗?如果您很忙或不感兴趣,可以100%地说“不”。只需重复使用相同的元素并调用:$(event.target).closest('tr').hide()代码>隐藏整行。你真是天才。你用一条普通的线解决了我的问题。我已经在facebook和quora等几个地方描述了同样的问题。我得到了如此奇怪的答案,以至于我开始挠头。这是如此简单,人们一直建议我编写更多的页面。我对你的帮助感激不尽。不过,我会记住其他问题。我不能推翻你的答案对不起。名声不好。:)
$(document).ready(function(){
$('body').on('click','.delete_id',function(){
var thisBtn = $(this);
var getValue = parseInt(thisBtn .val());
$.post('validator.php',{postdelete_id : getValue},function(data){
$('#del').html(data);
thisBtn.closest('tr').remove();
});
});
});
<input type="button" ... onclick="vlid(<?php echo $row['ID'];?>)"/>