似乎每当我尝试调用可过滤小部件的方法时,例如刷新或销毁,我都会给出错误
错误:在初始化之前无法调用filterable上的方法; 试图调用方法'销毁'
According to the docs,我应该可以使用以下格式在我的小部件上执行方法:
$( ".selector" ).filterable( "method" );
如果您转到可过滤的演示:http://demos.jquerymobile.com/1.4.4/filterable/,并尝试执行以下行
$("#filterBasic-input").filterable("destroy")
页面加载后,在浏览器的控制台中(可能是这个小部件初始化的时间?),你应该看到上面提到的错误信息。
通常,当尝试在错误的事件处理程序such as this question内调用方法时会发生这种类型的错误,但这种情况完全令我困惑。
答案 0 :(得分:0)
$("#filterBasic-input")
是错误的选择器。可过滤小部件实际上是列表(UL)而不是搜索输入框。在您的示例中,为列表指定一个id:
<ul id="theList" data-role="listview" data-filter="true" data-input="#filterBasic-input">
<li>Acura</li>
<li>Audi</li>
<li>BMW</li>
<li>Cadillac</li>
<li>Ferrari</li>
</ul>
然后,可过滤小部件的选择器将是$("#theList")
,例如:
$("#theList").filterable( "disable" );
这是 DEMO