jQuery Mobile 列表视图:单击时更改值

Posted

技术标签:

【中文标题】jQuery Mobile 列表视图:单击时更改值【英文标题】:jQuery Mobile List View: Change a Value When Clicked 【发布时间】:2012-03-24 10:30:36 【问题描述】:

我在表述我的问题时遇到了问题。所以我在 jQuery mobile 中有一个列表视图,它是动态创建的。我不想在单击列表项时链接到外部页面,而是希望能够获取他们单击的项目的文本。

在我的例子中,它是一个名称列表,我想知道他们点击了哪一个。我用 html 创建了列表:

<div data-role="content" data-theme="b">

        <div id="friends_list_view" class="content-primary" data-theme="c"> 
            <ul data-role="listview" data-filter="true" data-theme="c">
            </ul>
        </div>  
    </div>

当单击一个项目时,我想使用他们选择的名称运行一些功能。我该怎么做?

然后动态更新它:

var listString = null;
for(i in session_library)
        listString =  '<li><a href="#">'+session_library[i]['name']+'</a></li>';
        $("#friends_list_view ul").append(listString);



$("#friends_list_view ul").listview('refresh');

【问题讨论】:

【参考方案1】:

假设您的列表视图如下所示:

<ul data-role="listview" data-filter="true" data-theme="c" id="my_listview">
         <li>Row A</li>
         <li>Row B</li>
</ul>

您可以注册一个单击事件处理程序,它将返回&lt;li&gt; 文本,例如

$('#my_listview').delegate('li', 'click', function () 
    alert(this.innerText);
 );    
​

编辑:将vclick 更改为click。请参阅documentation。

【讨论】:

小心vclick。在某些操作系统(android click 在触发之前有一个延迟,但这是设计使然,因此设备可以决定用户是在点击、按住还是滑动。 啊,好的,谢谢。请参阅相关文档:jquerymobile.com/test/docs/api/events.html。我还没有在clickvclick 上看到警告。

以上是关于jQuery Mobile 列表视图:单击时更改值的主要内容,如果未能解决你的问题,请参考以下文章

动态更改 jQuery Mobile 列表视图中的图标

在 jQuery-Mobile 1.4.5 中更改列表视图颜色

jQuery Mobile:在列表视图数据拆分图标上更改/切换主题

jQuery Mobile,使用列表视图删除可折叠空间

Jquery mobile:更改列表视图的标题

jQuery Mobile - 单击时更改翻转开关