jQuery循环变量动态设置下拉菜单选中项:最佳实践

直接给出结论。

时间:2 01 9 年至今。
位置:浏览器。
具体数字:当数据量超过5 0个选项时,缓存DOM选择器可以提高性能3 0%以上。

基本代码: JavaScript $(文档).ready(函数(){ const $select = $('选择时间率'); Constant data = [[1 ,'1 0元/小时',false],[2 ,'1 5 元/小时',true]]; 让defaultId = null; $.each(数据, 函数 (_, [id, 速率, 必须选择]) { $select.append(); if (shouldSelect) defaultId = id; }); if (defaultId) $select.val(defaultId); });
投诉: 不要使用 newoption()。
糟糕的表现令人烦恼。

改进: 1 . 选择$cache。
2 . 使用let/const。
3 . 使用模具链。
4 .最后设置val,不要每次迭代都设置。

特殊情况: 当数据量较大时,使用DocumentFragment。

不要谈论困难模式或破坏任务,只是使用它。

用jquery给select添加的下拉选项,怎么设定黑色为默认选中的项!

我记得有一次使用 jQuery 将新选项添加​​到项目的下拉菜单中,并设置默认选定的项目。
这是一个完全正常的下午。
我坐在办公室的电脑前,手指在键盘上飞舞。

我创建了一个简单的 HTML 结构,其中包含一个下拉菜单和一个添加颜色的按钮:
<select> <选项值=“1 ”>红色</选项> <选项值=“2 ”>绿色</选项> </选择> <input type="button" value="Add color">
我还为下拉菜单设置了一个简单的 CSS 样式: CSS 选择{ 宽度:2 00px; 边框:2 px 虚线 ebbcbe;
然后我编写了一段jQuery代码来处理按钮单击事件,添加了两个新选项“黑色”和“白色”,并将“黑色”设置为默认选定元素: javascript $(函数() { $("输入:按钮").click(function() { new_option = "<选项值='3 '>黑色</选项>" + "<选项值='4 '>白色</选项>"; $("select").append(new_option).val(3 ); }); });
我运行了代码,单击“添加颜色”按钮,看到下拉菜单中多了两个选项,“黑色”和“白色”,并且默认选择“黑色”。
有一种满足的成就感,就像在电脑屏幕前完成了一件小艺术品一样。

等等,我突然想到,如果用户想要选择“白色”,就必须手动切换,似乎很不方便。
也许我可以优化代码,以便默认情况下也选择“白色”。

在JavaScript中为下拉列表设置多个选中值

是的,这就是问题所在。
直接使用jQuery的val(),可以轻松设置多选下拉菜单。

首先让我们举一个例子并选择您的选项:
<select id="myMultiSelect" multiple="multiple"> <选项值=“选项A”>选项A</选项> <选项值=“选项B”>选项B</选项> <选项值=“选项C”>选项C</选项> </选择>
然后在Javascript中使用jQuery的val()方法传递一个数组 $(文档).ready(函数(){ const selectedValues = ["选项A", "选项C"]; $("myMultiSelect").val(selectedValues); });
请注意几点:
1 .需要给<select>添加multiple属性,否则无论传递多少个值都只会识别第一个。
2 . 数组中的值必须与'); $("myMultiSelect").val(["optionA", "optionD"]);
为了简单直接,提高效率,使用jQuery的val()方法。
亲自检查一下。
还有什么不明白的吗?