方法和详细的 *** 作步骤如下:
1、第一步,创建一个新的HTML文件,并将其命名为“index.html”,见下图,转到下面的步骤。
2、第二步,执行完上面的 *** 作之后,在index.html文件中编写选择框的html代码,以实现选项的效果,见下图,转到下面的步骤。
3、第三步,执行完上面的 *** 作之后,在页面上加载zdjquery-1.3.2.min.js文件,并编写Jquery代码以获取所有选项的选项值。
通过each()方法迭代所有选项值,并将其存储在select_con数组中,见下图,转到下面的步骤。
4、第四步,执行完上面的 *** 作之后,使用answer
console.log()打印阵列并运行代码以查看阵列的内容,见下图,转到下面的步骤。
5、第五步,执行完上面的 *** 作之后,可以看到该数组已成功获取select中所有option的值,见下图,转到下面的步骤。
6、第六步,执行完上面的 *** 作之后,通过map()方法获取选项值,并将结果返回到结果变量,见下图,转到下面的步骤。
7、第七步,执行完上面的 *** 作之后,通过get()方法将获取的对象转换为数组,并将其存储在select_con数组中,见下图。这样,就解决了这个问题了。
直接用append方法就可以了,如:$("#selectId").append("<optionvalue='"+value+"'>Test</option>")
虽然不太明白为什么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条)