我有一个像这样的过滤 jquery 列表:
<ul id="myFilteredList" data-role="listview" data-filter="true">
<li data-theme="b" id="Li0" data-filtertext="selected_"><a href="#">Li element 1 </a></li>
<li data-theme="b" id="Li1" data-filtertext="selected_"><a href="#">Li element 2 </a></li>
<li data-theme="b" id="Li2" data-filtertext="selected_"><a href="#">Li element 3 </a></li>
<li data-theme="b" id="Li3" data-filtertext="selected_"><a href="#">Li element 4 </a></li>
<li data-theme="b" id="Li4" data-filtertext="selected_"><a href="#">Li element 5 </a></li>
</ul>
属性data-filtertext="selected_"可以通过编程方式更改为(data-filtertext="selected_blocked_")
<li data-theme="b" id="Li4" data-filtertext="selected_ blocked_"><a href="#">Li element 5 </a></li>
使用此代码:
$('#myFilteredList').children('#Li4').attr('data-filtertext', 'selected_ blocked');
$('#myFilteredList').listview('refresh');
问题是当我尝试过滤被阻塞的元素时,它不显示Li 元素 5,我错过了什么?
在这里演示:http: //jsfiddle.net/SU6xY/
重现步骤:
- 转到演示。
- 在过滤栏输入阻塞,结果显示 Lielement 2
- 按 Alter Filter 按钮,将 li2 元素过滤器更改为无,将 li4 元素过滤器更改为阻塞。
- 在过滤栏再次输入被阻止,它仍然显示 Lielement 2 ,它必须显示 Lielement 4
它仅在从不过滤列表时才有效。如果您尝试过滤然后应用新的 data-filtertext,则过滤器不起作用。