2012-07-25 117 views
0
<ul data-role="listview"> 
    <li>Facebook</li> 
    <li>Google</li> 
    <li>Apple</li> 
</ul> 

$(document).bind('pagebeforecreate',function(){ 
    $('form ul li').each(function(){ 
    $(this).html('<a role="button" data-icon="plus" data-iconpos="left">'+$(this).text()+'</a>'); 
    }); 
}); 

上面的代码应该将listview更改为一个带有左侧加号图标的按钮列表。但是,它不适合我。正在插入<a...></a>,但该图标未正确显示。此默认图标仍在显示。我怎样才能解决这个问题?jQuery Mobile按钮按预期工作

+0

所以,你找到了解决方案吗? – pat34515 2012-07-25 20:09:33

+0

我仍然无法启动它,所以我将列表更改为复选框。我会将您的答案标记为正确的答案。 – 2012-07-25 21:30:54

回答

0

根据jQuery mobile docs a data-role="button"属性需要将任何锚点链接设置为按钮样式。

在你的代码有:

<a role="button" 

这是不正确。 您需要将此更改为:

<a data-role="button" 

所以你的整个代码现在将是:

<ul data-role="listview"> 
    <li>Facebook</li> 
    <li>Google</li> 
    <li>Apple</li> 
</ul> 

$(document).bind('pagebeforecreate',function(){ 
    $('form ul li').each(function(){ 
    $(this).html('<a data-role="button" data-icon="plus" data-iconpos="left">'+$(this).text()+'</a>'); 
    }); 
}); 
1

除了上面@帕特里克的答复,你还需要将其连接到后初始化按钮控件该文件。试试这个,

$(document).bind('pageshow',function(){ 
    $('ul li').each(function(){ 
    var $this = $(this); 
    $this.html('<a data-role="button" data-icon="plus" data-iconpos="left">'+$this.text()+'</a>'); 
    var $btn = $('a', $this); 
    $btn.button(); 
    }); 
});