2016-07-14 40 views
0

我一直在試圖刪除使用jquery的文件來顯示警告消息,並知道哪些文件需要刪除,但是當我點擊橙色時,它將顯示警告,而其他人不會顯示警告消息或刪除文件,當我點擊他們我的jquery $('#DeleteJfile').click(function()只能在第一個文件中工作。jquery代碼在刪除文件之前顯示警告

<ul> 
<li id="DeleteJfile" data-animal-type="delete-1">Orange</li> 
<li id="DeleteJfile" data-animal-type="delete-2">Banana</li> 
<li id="DeleteJfile" data-animal-type="delete-3">Mango</li> 
<li id="DeleteJfile" data-animal-type="delete-4">You</li> 
</ul> 

<div class="AreYousure-box" style="display:none;"> 
Are you sure you want to delete this file? 
<br/> 
<form method="post" action="delete.php"> 
<input type="hidden" id="TodeletFile"/> 
<input type="submit" name="yes" value="yes"> 
<input type="button" id="no" value="no"></form> 
</div> 

我的jQuery腳本

<script> 
    $('#DeleteJfile').click(function(){ 
     var TypeOfVote = $(this).attr('data-animal-type').split("-")[1]; 
       alert(TypeOfVote); 
       $('.AreYousure-box').toggle(); 
       $('#TodeletFile').val(TypeOfVote); 
       }); 
    </script> 
+0

id屬性在頁面內應該是唯一的,所以將id =「DeleteJfile」更改爲class =「DeleteJfile」 –

回答

1

id應在HTML始終是唯一的。使用class

<ul> 
    <li class="DeleteJfile" data-animal-type="delete-1">Orange</li> 
    <li class="DeleteJfile" data-animal-type="delete-2">Banana</li> 
    <li class="DeleteJfile" data-animal-type="delete-3">Mango</li> 
    <li class="DeleteJfile" data-animal-type="delete-4">You</li> 
</ul> 

然後

$('.DeleteJfile').click(function() 
1

這是因爲您在多個元素使用相同的ID DeleteJfile,請更改ID來上課,然後再試一次。它會工作。

<script> 
    $('.DeleteJfile').click(function(){ 
     var TypeOfVote = $(this).attr('data-animal-type').split("-")[1]; 
       alert(TypeOfVote); 
       $('.AreYousure-box').toggle(); 
       $('#TodeletFile').val(TypeOfVote); 
       }); 
    </script> 
1

ID應該始終是唯一的。

事件被綁定到它滿足了第一個ID,你的情況橙是第一個DOM與此ID因此點擊事件適用於只橙,

使用class代替

Demo