启用jqmPhp以像Gmail mobi一样运行?

时间:2013-04-07 13:42:59

标签: php jquery-mobile gmail

我很确定以前从未问过这个问题。 我是jQuery的新手,发现jqmPhp非常容易使用。但是,我正在努力实现一些我觉得很难实现的东西。

我需要过滤列表项(例如here)并允许用户选中/取消选中要删除的多个列表项。我正在尝试实现与Gmail移动设备类似的功能(左侧有一个复选框,选择它会使相关的行突出显示,并允许用户只需单击按钮即可删除选中的行)。

使用jqmphp可以做到这一点吗?如果是这样,有人可以帮我提供更多信息,链接或代码吗?

1 个答案:

答案 0 :(得分:4)

我为您做了一个演示,将list-view转换为可检查的列表项。

http://jsfiddle.net/Palestinian/vcXmK/

  

HTML

<div data-role="page">
 <div data-role="header">
   <h1>Header</h1>
 </div>
<div data-role="content">
 <ul id="list-view-test" data-role="listview" data-autodividers="true" data-filter="true" data-inset="true">
   <li><a href="#">Adam Kinkaid</a>
   </li>
   <li><a href="#">Alex Wickerham</a>
   </li>
   <li><a href="#">Avery Johnson</a>
   </li>
   <li><a href="#">Bob Cabot</a>
   </li>
   <li><a href="#">Caleb Booth</a>
   </li>
   <li><a href="#">Christopher Adams</a>
   </li>
   <li><a href="#">Culver James</a>
   </li>
  </ul>
  <a href="#" data-role="button" id="del">Delete</a>
  <a href="#" data-role="button" id="reset">Reset</a>
 </div>
 <div data-role="footer">
     <h1>Footer</h1>
 </div>
</div>
  

代码

// Change icons
$('#list-view-test').find('span.ui-icon').each(function () {
 if ($(this).hasClass('ui-icon-arrow-r')) {
    $(this).removeClass('ui-icon-arrow-r').addClass('ui-icon-checkbox-off');
}
 $('#list-view-test').listview('refresh');
});

// toggle "checked/unchecked"
$('#list-view-test').on('click', 'li', function (event) {
 event.preventDefault();
 $(this).find('span.ui-icon').removeClass('ui-icon-checkbox-off').addClass('ui-icon-checkbox-on');
});

// Delete selected 
$('#del').on('click', function () {
 $('span.ui-icon').each(function () {
    if ($(this).hasClass('ui-icon-checkbox-on')) {
        $(this).closest('li').remove();
        $('#list-view-test').listview('refresh');
    }
 });
});

// Clear selection
$('#reset').on('click', function () {
 $('span.ui-icon').each(function () {
    if ($(this).hasClass('ui-icon-checkbox-on')) {
        $(this).removeClass('ui-icon-checkbox-on').addClass('ui-icon-checkbox-off');
    }
 });
});