屏幕截图:
我想用jQuery删除数据库中的行,如截图所示。我观看了超过150个关于jQuery的教程。但我是菜鸟。我知道jquery帖子的用法。但我无法准确处理它。
<script type="text/javascript">
$('#cart_delete_button').click(function(){
var deleteditems = $('input:checkbox[name="delete_cart[]"]:checked')
.map(function() { return $(this).val() })
.get()
.join(",");
//alert(deleteditems);
$.post('post.php',{deleteditems: deleteditems},function(data){
$('.loading').text(data);
});
});
</script>
我写了这段代码用于删除,但我想立即删除tr。我怎么能这样做?
答案 0 :(得分:1)
非常艰巨的工作,特别是在提供较少信息的情况下。但有人必须这样做...... 总之...
首先,
1)您必须使用数据库中的值填充表。 2)构造时,将每行的DATABASE ID分配给复选框元素。
当您单击复选框时,获取所选复选框的ID并通过$ .ajax将其传递到数据库并在那里执行删除操作...
问题不完全是jQuery。 PHP和jQuery都需要以一些有趣的方式使用。没有多少DVD观看和书籍阅读将帮助您。你必须弄清楚这一点。
另外,首先想想你想做什么。列出所有用例,确定一个坚定的方法,然后开始编码。它有助于长远。
如何解决问题?
假设您正在使用JSON格式从服务器返回的数据构建表。
让我们说JSON是
var json = {
"data": [
{
"itemID": "1",
"itemName": "Item Name1"
},
{
"itemID": "2",
"itemName": "Item Name2"
}
]
}
构建表时,
创建复选框时 这样做
for(var i=0;i<json.data.length;i++){
var cBox = jQuery("<inout />",{type="checkbox",id=json.data[i].itemId});
$("#yourTargetID").append(cBox);
}
将check
处理程序附加到这些元素以进行ajax调用。
喜欢
$("#cBoxId").on('click',function(){
if($(this).attr('checked'=='checked')){
$.post('yourphpfile.php',{data:$(this).attr(id)},function(data){
if(data==1){
$(this).parent().parent().remove(); // just a placeholder as I do not know your exact DOM structure.
}else {
alert("Something went wrong");
}
});
}
});
在你的PHP上
$id = $_POST['data'];
$query = "DELETE FROM tablename WHERE itemId = $id";
$result = mysql_query($query);
if($result){
echo 1;
}
else {
echo 0;
}
答案 1 :(得分:0)
答案 2 :(得分:0)
使用例如PHP生成html时 - 使用后,您可以从DB获取行并使用主键列值将ID标记为复选框:
$('input[type=checkbox]').bind('change', function() {
$.ajax({
type: 'POST',
url : 'delete.php',
data : {row_id: $(this).attr('id')},
success : function() {
$(this).closest('tr').remove(); //or whatever html you use for displaying rows
}
});
});
在delete.php中:
$id = $_POST['row_id'];
if (mysql_query("DELTE FROM TABLE WHERE id = $id")) echo 'OK';
else echo 'FAIL'