添加要选择的选项 - 多个选择
add options to select - multiple selects
我有 4 个选择,我想使用他们的类将这些选项附加到所有 4 个选择中。
// groupings is just an array of strings
createElement: function(el, value, html) {
var htmlText = html || value;
var elm = document.createElement(el);
elm.value = value;
elm.innerHTML = htmlText;
return elm;
}
var htmlOptions = [];
$.each(groupings, function(i, e) {
htmlOptions.push(_util.createElement("option", e));
});
$('.groupBy_impact').append(htmlOptions);
这似乎在Chrome中有效,但在IE和Firefox中,这些值在选择框之外被过度覆盖。不知道为什么。
如果我执行以下操作,那么它可以跨浏览器工作,但我想避免它
$('#select_groupBy_impact_1').append(htmlOptions);
$('#select_groupBy_impact_2').append($(htmlOptions).clone());
$('#select_groupBy_impact_3').append($(htmlOptions).clone());
$('#select_groupBy_impact_4').append($(htmlOptions).clone());
如果你想避免克隆,这样的东西应该可以工作。
$('.groupBy_impact').each(function() {
$(thid).append(htmlOptions);
});
这样可以避免克隆并循环访问集合中的所有元素。重要的是,您需要使用它的所有元素都具有groupBy_impact
类。
此外,.append()
可以采用不同的参数。
你正在使用jQuery,为什么不让你的.createElement();
返回放入数组中的jQuery对象。 这将更容易让jQuery处理。
甚至更好。创建一个新的 jQuery 集合(而不是数组)并将创建的 jQuery 对象附加到该空的 jQuery 对象,实质上是创建一个要添加的 DOM 元素的新集合。
尝试这样的事情
var htmlOptions_len = htmlOptions.length;
for(var i= 0;i<htmlOptions_len;i++ ){
$('.groupBy_impact').append(htmlOptions[i]);
}
或者只是尝试这样的事情
$.each(groupings, function(i, e) {
$('.groupBy_impact').append(_util.createElement("option", e));
});
相关文章:
- 将用户选择添加到数组中
- JQuery未选择添加的元素
- 根据用户的下拉选择添加表单字段
- 向选择添加标签
- 尝试在鼠标悬停时为Wordpress中的下拉菜单选择添加突出显示
- 选择 2 添加其他参数以选择选项
- Jquery 可以选择添加回调
- 如何在不按 DOM 顺序排序的情况下将 jquery 选择添加到一起
- 使用 jQuery.find 选择添加的图像进行 css 操作不起作用
- 角度选择添加未定义的选项
- 引导-选择添加项目并选择它
- 根据表单选择添加表单字段
- 在单选按钮选择上显示表,然后将单选按钮值传递给表中的字段,选择添加更多,然后附加到现有表
- 不能选择添加的元素
- 我需要创建一个多选项选择页面,其中每个选择添加或减去产品的价格
- 可以't选择添加的jQuery
- Jquery复选框上的选择添加一个名称属性和增量在多个选择
- 选择添加任何自定义值的框
- 如何从用户接收到的输入中为html选择添加一个选项
- 当选择添加时,使购物车数量计数器显示添加的产品