这个功能用到的方式就是:
①首先获得选中复选框的那一行或者多行数据,这个用,具体的代码要看你的网站结构通过jquery选择器和each循环都可以获得。
$("input:checkbox[name='the checkbox name']:checked")....②在each循环中,把获取到的每一行,每个单元格的数据,通过jquery的append()的方法,动态创建,添加到另一个表格中即可。插入的位置可以用不同的方法,append()是追加到后面。还有一些insertbefore()等可参见jquery文档。
1、创建一个html,然后在body标签添加如下图所示的代码,主要是在一个表格中包含多选框。
2、然后首要就是要引入jquery的库。注意jquery库的方式:<script src="js/jquery-1.8.3.js" ></script> 不能写成<script src="js/jquery-1.8.3.js" />这种方式。否则无效!大家可以去尝试一下这两个的差别。
3、然后再来一个jquery的加载函数,加载函数是jquery的标配。下面这种方式的话是属于比较简写的了。
4、接下来根据id获取全选框的元素,然后给全选框绑定点击事件。
5、在点击事件方法中完成:获取类属性值为checkOne的多选框;然后将通过prop(属性,值)方法,来将checked属性设置成跟全选/全不选框的checked一样。
虽然不太明白为什么refresh方法不起作用,不过还有另外一个方法:
// data 是ajax返回的json数据$.get("xxx.html?a=" + a, function (data) {
var site = new Array()
$.each(data, function(index, values) {
//循环将data数据的结构重新调整为下面这样的:[{label:xxx,value:id}]
// laebl相当于option的文字,value则是option的value,结构不能错
site.push({
label : values.site_name,
value : values.id
})
})
//重点是这里,不用refresh方法,用下面这个。
$("#site_id").multiselect('dataprovider',site)
})
如果你在查询数据库的时候直接就这样:
select id as value, city_name as label from 表名
那么返回值在js那里就不需要循环改变结构了,直接可以用:
$("#site_id").multiselect('dataprovider',data)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)