1

我很确定以前从未有人问过这个问题。我是 jQuery 新手,发现jqmPhp非常易于使用。但是,我正在尝试实现一些我觉得实现起来非常复杂的事情。

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

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

4

1 回答 1

4

通过将列表视图转换为可检查的列表项,我为您制作了一个演示。

http://jsfiddle.net/巴勒斯坦/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');
    }
 });
});
于 2013-04-13T16:01:48.227 回答