Jquery mobile 在jquery mobile 1.4.0中选择listview项时更改其背景色

Jquery mobile 在jquery mobile 1.4.0中选择listview项时更改其背景色,jquery-mobile,onclick,jquery-mobile-listview,Jquery Mobile,Onclick,Jquery Mobile Listview,我在弹出窗口中有一个列表视图,当用户选择一个列表元素时,我想更改该元素的“li”背景色,我尝试了以下代码它在jQuery mobile 1.3.2上工作,但在我将我的应用程序升级到1.4.0时不起作用,当用户单击它时,我如何更改列表元素的背景色?请帮帮我 <div data-role="page" id="index"> <div data-role="header" data-theme="b">Main</div> <div data-role="c

我在弹出窗口中有一个列表视图,当用户选择一个列表元素时,我想更改该元素的“li”背景色,我尝试了以下代码它在jQuery mobile 1.3.2上工作,但在我将我的应用程序升级到1.4.0时不起作用,当用户单击它时,我如何更改列表元素的背景色?请帮帮我

<div data-role="page" id="index">
<div data-role="header" data-theme="b">Main</div>
<div data-role="content"> 
<a href="" data-rel="popup" id="Btn1" class="ui-btn  ui-corner-all" data-inline="true">Show Popup</a>

</div>
<div data-role="popup" id="MyPOPUP" data-position-to="window" data-corners="false" data- overlay-theme="a" data-dismissible="false">
    <div data-role="header" data-theme="a">

        <div style="text-align:center;float:center;padding-top:11px;">
        <font size="6px" color="white">Countries</font>

        </div>
    </div>
    <div id="scrollContent" class="content" data-role="content" style="background-color: white;">
        <ul data-role="listview" id="countrieslist" style="margin: 0 !important;">

        </ul>
      </div>
    </div>
   </div>

主要的
国家
Java脚本代码

$('#index').on( 'pageinit',function(){


   for(var i=1;i<=50;i++)
   {

        $('#countrieslist').append('<li id="'+i+'">'+'<a href="#" style="background:transparent !important;">'+'<font>'+Country+i+'</font>' +'</a></li>');                

   }

   $('#countrieslist').listview('refresh');
 });

 $('#Btn1').on('touchstart', function(){ 

        $(this).css({background: 'white'});
        $(this).attr('href','#MyPOPUP');    
});

 $('#countrieslist').on('click','li', function() {

    $(this).css({background: 'blue'});
    selected_elem =  $(this).attr('id');
   alert('you selected' + selected_elem);
       $('#MyPOPUP').popup('close');


 });
$('#index')。在('pageinit',function()上{

对于(var i=1;i您在创建国家/地区的循环中有一点输入错误,但除此之外,代码似乎还能工作

这是一个正在工作的

由于pageinit在n 1.4中已被弃用,因此我使用了pagecreate;在for循环中,字体标记后的单词country应位于单引号内,因为它不是一个变量。此外,在li单击中,我在设置新选择的国家之前,将所有其他国家重置为透明背景:

$(document).on( 'pagecreate', '#index',function(){
   for(var i=1;i<=50;i++) {
        $('#countrieslist').append('<li id="'+i+'"><a href="#" style="background:transparent !important;"><font>Country' + i +'</font></a></li>');                
   }
   $('#countrieslist').listview('refresh');

    $('#Btn1').on('click', function(){ 
        $(this).css({background: 'white'});
        $(this).attr('href','#MyPOPUP');    
    });

    $('#countrieslist').on('click','li', function() {
        $('#countrieslist li').css({background: 'transparent'});
        $(this).css({background: 'blue'});
        selected_elem =  $(this).attr('id');
        alert('you selected' + selected_elem);
        $('#MyPOPUP').popup('close');
    });
});
$(document).on('pagecreate','#index',function(){

对于(var i=1;i@ezankerThanks,我试过了,但在移动设备上不起作用,在关闭弹出窗口之前,选定的li颜色没有改变,我如何解决这个问题?你能帮我吗?我在iPhone上访问,它工作正常。它在任何设备上对你都不起作用吗?@ezankerI在我的android s2设备上测试过,但没有work@ezankerwhen我注释这一行$('#countrieslist li').css({background:'transparent'});并选择一个列表元素,然后再次打开弹出窗口。该元素的背景颜色变为蓝色,但在关闭列表之前,其颜色在单击时没有改变popup@user,我认为警报和即时弹出关闭会导致计时问题,那么这个呢:?似乎在我的iphone和android设备上运行良好。