jquery切换动态列表三态

时间:2013-02-28 03:10:25

标签: jquery jstl

我有一个动态生成的列表。

当我点击一行时,我想要切换背景颜色,比如说,-red green yellow。当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 个答案:

答案 0 :(得分: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/