jquery向select 添加选项option

jquery向select 添加选项option,第1张

方法和详细的 *** 作步骤如下:

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("<option

value='"+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)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11184889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存