2012-03-16 94 views
0

如果用戶選擇了多個COP1000,並在另一個實例中提醒用戶他們是否選擇了多個COP 2830,我將如何提醒用戶。現在它會通知用戶是否選擇了不止一個班。使用jQuery獲取元素的HTML標籤屬性

<script type="text/javascript" charset="utf-8"> 
var p = 0; 
$(document).ready(function() { 
    $('input:checkbox').click(function() { 
     var COP1000 = $(this).attr('data'); 
     if ($('input:checkbox:is_checked').attr()) { 
      p++; 
     } 
     if (p >= 2) { 
      alert('You can only select this class once'); 
      return false; 
     } 
    }); 
}); 
</script> 

下面是用數據作爲類

<input name="class[]" data="COP1000" value="<tr><td>COP1000 <td>8:00AM-9:00AM 
</td><td>MWF </td><td>Sanford </td><td>3</td></tr>" type="checkbox" class="auto- 
style88"/> 
<input name="class[]" data="COP1000" value="<tr><td>COP1000 <td>11:30AM-12:00PM 
</td><td>TTH </td><td>Altamonte </td><td>3</td></tr>" type="checkbox" class="auto- 
style88" /> 

<input name="class[]" data="COP2830" value="<tr><td>COP2830 <td>11:00AM-12:00PM 
</td><td>MWF </td><td>Sanford </td><td>3</td></tr>" type="checkbox" class="auto- 
style88"/> 
<input name="class[]" data="COP2830" value="<tr><td>COP2830 <td>6:00PM-8:45PM 
</td><td>T </td><td>Altamonte </td><td>3</td></tr>" type="checkbox" class="auto- 
style88"/> 

回答

1

這應該工作:

$(document).ready(function() { 
    $('input:checkbox').click(function() { 

     var COP1000Counter = 0; 
     var COP2830Counter = 0; 


     $('input:checkbox:checked').each(function(){ 
      if($(this).attr('data') == "COP1000") 
      { 
       COP1000Counter++; 
      } else if ($(this).attr('data') == "COP2830"){ 
       COP2830Counter++; 
      } 
     }); 

     if (COP1000Counter > 1 || COP2830Counter > 1) { 
      alert('You can only select this class once'); 
      return false; 
     } 
    }); 
}); 

通過增加更多的櫃檯或如果其他號碼,你可以與所有類和允許出現次數的數量起到

Fiddle

+0

謝謝你許多! – SilverNightaFall 2012-03-16 09:53:40

+0

@ user2134 np,很高興幫助^^ – Frederiek 2012-03-16 09:58:44

0

在這裏你去的名稱複選框,選中此fiddle出來。

雖然我覺得我的解決方案很粗糙,仍然可以改進。 但這是一個開始。

希望它有幫助。 :)