更新时间:201824 下午4:15:42
更新说明:新增改变json key值的参数,修复行数过少引发的bug,以及更新json出现的选择器消失,只剩阴影层的问题
更新时间:2017/11/28 下午6:20:28
更新说明:添加confirm,cancel事件回调函数返回选中的json,包含拼接好的id和value
返回的json格式如下,具体查看例子中的confirm函数:
{
ids : "19-0",
name : "广西壮族自治区-南宁市",
values : "450000-450100"
}更新时间:2017/11/13 上午10:51:03
更新说明:优化了index.html里面的例子,因为评论有说不知道怎么取值,添加console输出,更易理解
更新时间:2017/11/7 下午2:14:22
更新说明:原本的二级改为三级和以上渲染,目前例子添加了三级的
手机端模拟选择-2级
@param
level [级别:1,2,3]
line [显示行数:默认为3]
height [行高:默认40]
idDefault [是否填充默认值:默认false]
splitStr [分割符号:默认’ ‘(例如:’/’,’-‘,’#’)]
Linkpage [是否联动:默认false]
dataLink [有联动时的数据(有格式)]
data1 [一级数据(Linkpage:false时才有用)]
data2 [二级数据(Linkpage:false时才有用)]
header [头部代码]
afterOne:function(){} [选择一级后回调函数]
afterTwo:function(){} [选择二级后回调函数]
confirm:function(){} [确定回调]
cancel:function(){} [取消回调]
@return deffered{‘show’:fn,’hide’:fn,’updateData’:fn}组件特色
1. 除了组件自带需要的样式,需要用户额外编写的css基本没有,除了想修改选择插件每个li的高度。
2. json格式默认为:
var method4=$('.select-value4').selectList({
level:2,
data1:level1,
data2:level2,
line:5,
Linkpage:false,
idDefault:true,
afterOne:function(result){
// console.info(result.target.html())
},
afterTwo:function(result){
//console.info(result.target.html())
},
confirm:function(){
method4.updateData([level2,level1]);
//console.info($('.select-value').data('id1')+'-'+$('.select-value').data('id2')+'-'+$('.select-value').data('id3'));
}
})QA:为什么要用这个组件
除了组件自带需要的样式,需要用户额外编写的css基本没有,除了想修改选择插件每个li的高度。
json格式默认为:
level3=[
{
"name": '111',
"value": '1',
"child": [
{
"name": '222',
"value": '3',
"child": [
{
"name": 'fff',
"value": '3'
},
{
"name": 'ggg',
"value": '4'
},
{
"name": 'hhh',
"value": '5'
},
{
"name": 'yyy',
"value": '6'
}
]
},
{
"name": '555',
"value": '6',
"child": [
{
"name": 'fff',
"value": '3'
},
{
"name": 'ggg',
"value": '4'
},
{
"name": 'hhh',
"value": '5'
},
{
"name": 'yyy',
"value": '6'
}
]
}
]
},
{
"name": 'ddd',
"value": '2',
"child": [
{
"name": 'fff',
"value": '3'
},
{
"name": 'ggg',
"value": '4'
},
{
"name": 'hhh',
"value": '5'
},
{
"name": 'yyy',
"value": '6'
}
]
}
];3.可修改selector头部代码,增加组件样式灵活性
4.调用组件的元素可以和填充的表单元素不是同一个,如果没设置则默认相同
5.自动填充默认值
6.新增了更新数据的功能,支持动态更新
更多详情请看selector-api.html
根据confirm返回值
confirm: function(json) {
console.info('当前选中json:', json);
console.info('【json里有带value的情况】');
$("#cate_id").val(json.values);(
第一次选择的一级分类有子级, 第二次选择的如果没有子级, 但是会缓存上次选择的子级)
$("#cate_ids").val(json.name);(
第一次选择的一级分类有子级, 第二次选择的如果没有子级, 但是会缓存上次选择的子级。 可以根据这个json.name的值来区分是否有子级, 这个没有缓存)
}
name: "一级分类|一级分类1"
values: "5038|5090"
name: "方便面"
values: "5068|5090"缓存了上次选择的子级,根据name值可以储存、判断本次的选择