2012-12-24 72 views
0

我想从照片数据库中删除ID,但在li标签我有类别编号,我已将其设置为类。 守则如下:删除ID和删除Li标签与另一个ID

$().ready(function() { 
    $(".delete").on("click",function(e) { 
     e.preventDefault(); 
     var ID = encodeURI($(this).attr("id")); 
     var CAT = $(".photos li").attr("class"); 
     alert(CAT); 
    }); 
}); 
<ul class="photos"> 
$sql = mysql_query("SELECT * FROM photos ORDER BY id DESC"); 
while($data = mysql_fetch_array($sql)){ 
echo "<li class='c".$data['cat_id']."'><a href='#' class='delete' id='".$data['id']."'>".$data['photo_name']."</a></li>"; 
} 

我使用多个类别,但是当我点击删除结果是C1

+0

是什么**'当我点击删除结果c1' **的意思是**'c1' **,它是如何帮助我们与您的问题? – charlietfl

+0

您正在通过'alert( CAT)'而不是ID。 – Walk

+0

是我警告CAT因为ID很好我需要类别,charlietfl当我想从数据库中删除一些图片beforeSend:function(){$(“。c”+ CAT).slideToggle('slow',function(){$ (本)卸下摆臂();}); } –

回答

1

如果你想删除的照片,而不是类别ID的ID,为什么甚至为它写代码?以下内容应提醒您您点击的照片删除链接的ID。看起来在该函数的开头有e.preventDefault();可以防止执行其他任何事情。

$(document).ready(function() { 
    $(".delete").click(function(event) { 
     var ID = encodeURI($(this).attr("id")); 
     var CAT = $(this).closest("li").attr("class"); 
     alert(ID + " " + CAT); 
     e.preventDefault();  
    }); 
});​ 

http://jsfiddle.net/Cq49P/5/

+0

ID正在工作,但我需要cat_id –

+0

所以你需要两个?在你的描述中,这似乎不太清楚。 – Walk

+0

首先对不起英语,我从3类3张照片。这是一个顶级照片,所以我已经创建了功能来替换它现在我试图从选定的类别中删除照片。我希望你现在能理解我。 –

0

CAT_ID是class不是Id。使用.removeClass()。删除班级。

所以,只是我得到你的问题...你写在一个类名称的id,它与c,然后所有元素都是这样的:c1,c2 .....,你想获得的数量C。

首先:在元素上使用data-attribute。例如:

echo "<li class='' data-cat_id=".$data['cat_id']."'><a href='#' class='delete' id='".$data['id']."'> 

(不是PHP的专家,但你的结果HTML应该是这样的:<li class='' data-cat_id="1".... 这是我建议你应该使用的方式

如果你真的有类来做到这一点。 你可以这样说:

$(function($) { 
    var CAT = $("li").each(function() { 
     var CAT = this.className.split(' '); 
     var regex = /^c[0-9]*$/; 
     $.each(CAT, function(){ 
      if(this.match(regex)){ 
       alert(this.split('c')[1]); 
      } 
     }); 
    });  

}); 
​[Fiddler][2]. 
+0

var CAT = $(“。photos li”)。attr(“class”);我需要类别中的ID只显示我c1 –