博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jqweui的picker动态加载数据
阅读量:2061 次
发布时间:2019-04-29

本文共 2383 字,大约阅读时间需要 7 分钟。

大家好,我是烤鸭

jqweui的picker动态加载数据

jqweui是jquery对weui的拓展开发,picker就是其中的一个拓展组件,

1.    先附上官网显示地址和代码:

上一张显示图:

2    动态加载数据

如果是动态加载数据的话,可以把加载方法写成一个方法,数据是加载后返回的再填充。但是有一个问题,前台要求的数据一般是key,value的形式,而picker插件只能接收单列数组。我是这么解决的,把要显示的key作为一个数组返回,其他的属性创建一个对象数组存起来。

例如:

2.1    发送ajax动态获取数据

function initFqProductList(){		var url = "your/url/xxx";		$.ajax({			type : 'POST',			url : url,			data : {			},			dataType:'json',  	        //jsonp:'callback', 	        //scriptCharset: 'utf-8',			success : function(data) {				console.log(data);				//获取数组				fqProductArray = data.array;				var values = new Array();				for ( var i in fqProductArray) {					values[i] = fqProductArray[i].productValue;				}				//例如(values是返回的数据)				values = ['iPhone 4', 'iPhone 4S', 'iPhone 5', 'iPhone 5S', 'iPhone 6', 'iPhone 6 Plus', 'iPad 2', 'iPad Retina', 'iPad Air', 'iPad mini', 'iPad mini 2', 'iPad mini 3'];				packerInit(values);			}		});	}

2.2    创建对象数组,保留其他属性

//例如	var values = ['iPhone 4', 'iPhone 4S', 'iPhone 5', 'iPhone 5S', 'iPhone 6', 'iPhone 6 Plus', 'iPad 2', 'iPad Retina', 'iPad Air', 'iPad mini', 'iPad mini 2', 'iPad mini 3'];	//正常情况是根据key查value,现在反向操作	for(var i in values){		var fqProduct = new Object();		fqProduct.key = i;		fqProduct.value = values[i];		fqProductArray.push(fqProduct);	}
这里的key就是另一个属性,我们的value是要显示在页面上的。

我们可以根据value获取key,传到后台进行其他操作。如果有多个属性的话,

在创建对象的时候,给对象多几个属性。

var obj = new Object();

obj.aKey = ;obj.bKey = ;obj.cKey = ;obj.value = ;

2.3    初始化picker插件

例如:这里的value就是上面(ajax)传过来的动态数据。确定事件绑定了另一个方法,为的是获取用户点击的哪一个值。

function packerInit(values) {		$("#picker1").picker(			{				toolbarTemplate : '
' + '
', cols : [ { textAlign : 'center', values : values, } ], cssClass : 'productList', onOpen : function() { // document.activeElement.focus(); $("body").append( "
"); }, onClose : function() { $(".grayBg").remove(); } }); }

2.4    取值方法

function staging() {			var p1_val = $("#picker1").val();			for(var i in fqProductArray){				if(fqProductArray[i].value == p1_val){					alert("p1_val:"+p1_val+"--------------------key:"+fqProductArray[i].key);				}			}			for ( var p in fqProductArray) {				if ($("#productName").val() == fqProductArray[p].productValue) {					productKey = fqProductArray[p].productKey;					productId = fqProductArray[p].productId;					break;				}			}		};

最后上一张成功的图:(6 Plus 对应的key 5)

最后附上代码下载地址:

你可能感兴趣的文章
硬盘的接口、协议
查看>>
安装系统之一 U盘启动盘制作
查看>>
安装系统之二 U盘启动盘制作---UEFI版
查看>>
安装系统之四 U盘装GHOST XP教程
查看>>
安装系统之五 U盘装原版XP教程
查看>>
安装系统之六 U盘装GHOST WIN7教程
查看>>
安装系统之八 U盘装GHOST WIN8教程
查看>>
安装系统之九 U盘装原版WIN8教程
查看>>
安装系统之三 U盘启动盘建立磁盘分区教程
查看>>
系统安装之十 U盘安装原版win10
查看>>
安装系统之十一 UEFI和Legacy及UEFI+Legacy启动的区别
查看>>
树莓派屏幕---------Android手机作为树莓派的屏幕
查看>>
嵌入式 知识点 积累 (一)
查看>>
嵌入式 知识积累 (二) 之 三个学习阶段
查看>>
嵌入式 知识积累(三) 之 基本技能
查看>>
嵌入式 知识积累(四) 之 硬件开发的基本过程
查看>>
嵌入式 知识积累(五)之硬件工程师具备基本技能
查看>>
中小型园区网络的设计与实现 (一)
查看>>
别人的难题,就是你的价值。
查看>>
中小型园区网络的设计与实现 (二)
查看>>