jquery,js jsp。 onclick删除特定行

时间:2017-05-22 17:13:43

标签: javascript jquery jsp

伙计我有一个按钮,在点击帖子上是一个从DB中删除值的查询。现在,当我点击按钮时,它正在删除数据库中的所有记录,但我想要的是点击哪个ID只删除该ID的记录。我需要动态设置按钮的ID,请查看下面的例子。还建议我有任何其他替代方案来实现这一目标。任何帮助将不胜感激。



//just for eg
//this is my id which im getting from DB
document.getElementsByClassName(".sui").value=$(this).attr("id"); [101,102---]

//this is my button 
<button type="button" class="sukuti" >click me</button>

//myquestion is how do I set it of button to be ($(this).attr("id"))
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您试图获取最后点击的行的ID并向数据库服务器发出查询。

我假设您有一个表,并且每行都有一个按钮来删除该行。

首先创建接受行ID的后端并从例如删除相应的行。 MySQL的。这可以用PHP制作。但这是另一个问题..

"DELETE from MyTable WHERE id=" + id

然后在table元素中(我不确定你是如何生成动态表的,但我假设你是通过从后端获取JSON来做到这一点)放置一个按钮并将onclick事件设置为

myFunction(dbArray[id])
//so the input would look like
//<button onclick="myFunction(102)">Delete</button>

这里的目标是在我们的onclick函数中生成带有id参数的按钮。 一个简单的函数可能如下所示:

&#13;
&#13;
function myFunction(myid){
  //something to do with ID, maybe an AJAX query
  //explaining AJAX to the backend in this scenario
  $.ajax({
   type: "POST", //you might use GET aswell
   data: {'id': myid},
   url: 'deleterow.php',
   cache: false,
   success: function(msg) {
     //do something with received value
     //this is the raw output of your backend service aswell
     //basically, what you see on the screen :)
     console.log("Succesfully deleted id:" + myid + ". msg:" + msg);
   }
  });
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

根据您在评论中提供的额外信息,单击数据行会显示一个显示完整记录的表单,并便于删除该记录的机制(按钮)。但是单击该按钮会删除所有记录,而不只是删除一条特定记录。

  • 除非您想拥有该选项,否则不要设计服务器端方法来删除所有记录。即使您想这样做,使用不同的URL来删除所有记录也会更安全。
  • 由于您使用的是POST,要么使用隐藏的表单输入<input type="hidden" name="id" value="101" />,要么使用按钮本身的HTML5样式数据属性,您可以使用它将请求提交给服务器。请查看此SO thread以获取相关提示。