1.1.0 • Published 5 years ago

jq-autosearch v1.1.0

Weekly downloads
2
License
ISC
Repository
github
Last release
5 years ago

autosearch

自动搜索 例子见自动搜索框例子 效果图

npm安装

npm install --save jq-autosearch

例1:

<input type="text"  class="autosearch"><input type="hidden" name="hd_id" id="hd_id">
<script src="../src/jquery-1.11.2.js"></script>
<script src="../src/autosearch.js"></script>
<script>
$.get('data.txt',function(result){
	 var input = $('.autosearch');
	 var autosearch = new AutoSearch();
	 autosearch.init({input:input,autoShow:true,data:result,valueObj:'#hd_id',valueName:"id"});
},'json')
</script>

直接的调用,使用静态固定的数据源

例2:

<!-- ajax请求 -->
<input type="text"  class="autosearch2">
<script>
	 var input = $('.autosearch2');
	 var autosearch = new AutoSearch();
	 autosearch.init({input:input ,autoShow:false,data:function(callback){
			$.get('data.txt',{key:input.val()},function(result){
	 		callback(result);
	 		},'json');
 		}
 	});
</script>

数据源会变化

例3:

<!-- 多个 -->
<input type="text"  class="autosearch3">
<script>
$.get('data.txt',function(result){
	 var input = $('.autosearch3');
	 var autosearch = new AutoSearch();
	 autosearch.init({input:input,autoShow:false,data:result,mutil:true
	 	});
},'json')
</script>

属性

input: DOM

输入框,jquery DOM对象

data:obj|function

数据源,这里可以传入数据源数组,也可以传入一个方法作为回调返回数据,如果传入的是数组,将作为静态过滤筛选,如果是传入的方法,每次都会调用该方法进来过滤。

autoShow:bool

是否在获得焦点时就显示数据,默认为false

valueObj:DOM

赋值框,jquery DOM对象

filterColumn:array string

过滤的字段列,默认为['name'],可以同时对多个数据列过滤

column:array string

显示的列,默认为['name'],如果想定义显示项,可以配置回调方法format:function(item)来返回显示内容

mutil:bool

选多个,默认为false

min:1

最少几个字符开始搜索

valueName:name

要显示在列表里的值.

回调方法

callback :function(data)

选中的回调,data为当前选中的数据项.可以用于扩展选中后的显示效果

focusCallback:function(input)

获取焦点

blurCallback:function(input)

离开焦点

showCallback:function(input,content)

显示后的回调

resetCallback:function(input)

this,没选择的重置回调