jQuery Mobile是一种基于jQuery框架的移动应用开发框架,其中Filterable是其组件库中的一个重要组件,提供了筛选、搜索和排序等功能。在使用Filterable组件时,可以使用option()方法来设置一些参数和选项,接下来我们将详细讲解这个方法的使用攻略。
1. option()方法的语法
option()方法的语法如下:
$(selector).filterable("option", optionName [, value] );
其中,selector是指要筛选的元素或符合jQuery选择器的表达式,optionName是可选项的名称,value是可选项的新值。如果不提供value,option()方法只返回选项的当前值。
2. 设置Filterable组件的选项
使用option()方法来设置Filterable组件的选项,可以在调用filterable()方法之前或之后实现,如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Filterable Option Demo</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<style>
#mylist li {
border: 1px solid #e5e5e5;
margin: 5px;
text-align: center;
}
</style>
<script>
$(document).on("pagecreate", function(){
// 设置用于筛选的输入框的名称为s,而不是默认的数据过滤器名称data-filter
$("#mylist").filterable("option", "filterPlaceholder", "s");
});
</script>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>Filterable Option Demo</h1>
</div><!-- /header -->
<div role="main" class="ui-content">
<ul data-role="listview" id="mylist" data-filter="true" data-filter-reveal="true" data-inset="true">
<li>苹果</li>
<li>西瓜</li>
<li>葡萄柚</li>
<li>橙子</li>
<li>柠檬</li>
<li>草莓</li>
<li>蓝莓</li>
<li>桃子</li>
<li>梨子</li>
</ul>
</div><!-- /content -->
<div data-role="footer">
<h4>www.example.com</h4>
</div><!-- /footer -->
</div><!-- /page -->
</body>
</html>
上面的示例在Filterable组件初始化之后,使用option()方法来将数据过滤器名称更改为“s”。
3. 返回Filterable组件的选项
使用option()方法来返回Filterable组件的选项,也可以在调用filterable()方法之前或之后实现,如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Filterable Option Demo</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<style>
#mylist li {
border: 1px solid #e5e5e5;
margin: 5px;
text-align: center;
}
</style>
<script>
$(document).on("pagecreate", function(){
// 获取数据过滤器名称
var filterName = $("#mylist").filterable("option", "filterSelector");
console.log("filterName: " + filterName);
});
</script>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>Filterable Option Demo</h1>
</div><!-- /header -->
<div role="main" class="ui-content">
<ul data-role="listview" id="mylist" data-filter="true" data-filter-reveal="true" data-inset="true">
<li>苹果</li>
<li>西瓜</li>
<li>葡萄柚</li>
<li>橙子</li>
<li>柠檬</li>
<li>草莓</li>
<li>蓝莓</li>
<li>桃子</li>
<li>梨子</li>
</ul>
</div><!-- /content -->
<div data-role="footer">
<h4>www.example.com</h4>
</div><!-- /footer -->
</div><!-- /page -->
</body>
</html>
上述示例在Filterable组件初始化之后,使用option()方法来获取数据过滤器名称,并在控制台上输出。