jquery
  • jstl
  • 2013-02-28 89 views 0 likes 
    0

    我有一个动态生成列表。jquery切换动态列表三态

    当我点击一行我想切换背景颜色让我们说,红绿黄。例如,当id不动态时,我已经看到了答案。

    <ul data-role="listview" id="my-listview" > 
        <c:forEach var="line" items="${tl.reqs}"> 
         <li id="lnk"><a href="#" onclick= ' 
          $(this).toggle(function(){ 
           $(this).css("background-color","green");}, 
          function(){ 
           $(this).css("background-color","red");}, 
          function(){ 
           $(this).css("background-color","yellow");} 
          );' 
          ${line.name}</a> 
         </li> 
        </c:forEach> 
    

    回答

    1

    一个ID(或类)添加到您的链接:

    <a href="#" id="myLink">Test</a> 
    

    的jQuery:

    $('#myLink').click(function() { 
        var color = $(this).css("background-color"); 
        console.log(color); 
        switch(color) { 
         case 'rgb(255, 255, 0)': 
          $(this).css("background-color", "green"); 
          break; 
         case 'rgb(0, 128, 0)': 
          $(this).css("background-color", "red"); 
          break; 
         case 'rgb(255, 0, 0)': 
         default: 
          $(this).css("background-color", "yellow"); 
          break; 
        } 
        return false; 
    }); 
    

    http://jsfiddle.net/samliew/SJwLy/9/

    相关问题