javascript
  • jquery
  • css
  • html5
  • jquery-mobile
  • 2013-04-01 37 views 2 likes 
    2

    在一個頁面上有一個列表視圖時,第一項選擇:jQuery Mobile的ListView的變化選擇項目,並強調它

    var len = results.rows.length, 
    $list = $("#listAddr"); 
    var $strHTML =" "; 
    for (var i = 0; i < len; i++) { 
        $strHTML += '<li '; 
        if (i == 0) { 
         $strHTML += ' data-theme="b" '; 
        } 
    
    
        $strHTML += '> <a href="#" data-ajax="false"'; 
        $strHTML += ' data-id="' + results.rows.item(i).Id + '">' + results.rows.item(i).Name + '</a></li>'; 
    } 
    
    $list.html($strHTML); 
    $list.delegate('li a', 'click',function(e){ 
    // $("#listAddr").attr("li").removeClass("liSel"); 
        $(this).addClass("data-theme='b'"); 
        $("#listAddr").listview("refresh"); 
        //$(this).removeClass("data-theme"); 
        clickAddr($(this).data('id')); 
    }); 
    

    當我選擇第三項,我想第三個項目是「數據-theme ='b'「風格以及刪除主題的第一項。如何才能做到這一點?

    回答

    5

    你可以做soemthing如下

    $('#listAddr li').bind('click', function() { 
        $('#listAddr li').attr("data-theme", "c").removeClass("ui-btn-up-b").removeClass('ui-btn-hover-b').addClass("ui-btn-up-c").addClass('ui-btn-hover-c'); 
        $(this).attr("data-theme", "b").removeClass("ui-btn-up-c").removeClass('ui-btn-hover-c').addClass("ui-btn-up-b").addClass('ui-btn-hover-b'); 
    }); 
    

    下面是一個例子Live fiddle

    +1

    很高興爲你效勞。如果它對你有幫助,請考慮將其標記爲答案。 –

    0

    使用數據()來改變數據屬性...

    $.removeData($list.find('li'), "theme"); 
    $(this).data("theme",'b'); 
    

    試試這個

    $list.on('click','li a',function(e){ 
           $.removeData($list.find('li'), "theme"); 
           $(this).data("theme",'b'); 
           $("#listAddr").listview("refresh"); 
    
           clickAddr($(this).data('id')); 
          }); 
    
    +1

    謝謝,但它沒有工作。我點擊其他項目,沒有主題變化。 – Gank

    相關問題