appcan及JS学习杂谈2

  1、 java后台用json-lib的 JSONArray.fromobject 将 对象集合转化成json数组,再使用response.getWriter().write(JSONArray.toString()),输出到前台。。。。。我在appcan前台使用 var sd=eval(data) 将json字符串转化成 json数组。。。。。。现在我们要将json 数组 set到listtview中,可以遍历后台拿到的数组, 在循环内 组我们需要的json对象,并push到我们新建的空数组。  var  qtlist=[ ]  for(var i=0;i<st.length;i++){  var list { name:st[i].name,id:st[i].id  }  qtlist.push(list)  },  lv.set(qtlist)(lv即listview)。。


2、如何将选中的1个或多个checkbox进行保存,appcan中checkbox状态变化的时候有个方法即lv.on("checkbox:change",function(ele,obj,curEle){

//我们在这里判断,如果checknox被勾选

if($(obj).prop("checked")){ 

//如果被勾选就将它 添加到一个全局变量数组 obarray[]

obarray.push(obj);  当触发保存按钮呢的时候可以将这个数组推送到服务器


})


3.、第2点中的如果选中了某些checkbox,那么要如何取消选择其中一个或多个checkbox,如果用pop()方法则每次都是从最后一个开始删显然不合理,shift()

方法则是从第一个元素开始删,所以这也是不合理的。那么这是splice(开始位置,删几个)这个方法就很实用,我们可以在checkbox change方法里

触发 obarray.splice($.inArray(obj,obarray),1)


4、appcancheckbox进行全选,对于全选我弄了好久,后来看了listview源码才知道,checkbox 是放在一个div里的 即<div class="checkbox"><input  type="checkbok"/></div>,

现在我们要实现的是,在页面最上面点击一个checkbox全选下面所有的checkbox,在最上面的checkbox 设置一个点击事件,

function  choose(obj){

//如果点击了全选按钮

 if($(obj).prop("checked"){

var list = $(".checkbox");

//获取所有类型为checkbox的div(因为js源码 div包着checbox<div class="checkbox"><input  type="checkbok"/></div>) 我们要的是获得里面的input的那个checkbox

//进行遍历通过class获得的div集合

for(var i =0;i<list.length;i++){

// 注意此处 list[i].children[0]获得的是dom元素,无法使用jquery对象的prop方法,因为这个小小的差别我弄了好久,应该将list[i].children[0]转化为jquery

对象 $(list[i].children[0])

$(list[i].children[0]).prop("checked",true)'


}

//如果取消全选

}else{

 for(var i=0;i<list.length;i++){
              
              $(list[i].children[0]).prop("checked",false);
           }


}


}20


5、在使用js 和jquery方法的时候要注意,dom对象和jquery对象的转换,$(dom对象)就能实用jquery 对象的方法了,dom.get(i)或者dom[i]都是dom对象,x.eq(0)是

jquery 对象


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值