【发布时间】:2017-10-23 22:30:25
【问题描述】:
我正在使用以下方法通过 jQuery 构建一个下拉选项:
var myOptions = {
var1 : 'Road',
var2 : 'Rail'
};
var mySelect = $('#q54');
$.each(myOptions, function(val, text) {
mySelect.append(
$('<option></option>').val(text).html(text)
);
});
构建下拉列表,没问题 - 然后我尝试附加 optgroupoptions - 我尝试添加以下代码以将 optgroup 包裹在选项周围,但没有任何乐趣。
var i = 1; // Addition
$.each(myOptions, function(val, text) {
if(i == 1){
$("#q54").append('<optgroup class="optgroups" label="Team">');
}
mySelect.append(
$('<option></option>').val(text).html(text)
);
if(i == 2){
$("#q54").append('</optgroup>');
}
});
上面的HTML输出是:
<optgroup class="optgroups" label="Team"></optgroup>
<option value="Road">Road</option>
输出应该是:
<optgroup class="optgroups" label="Team">
<option value="Road">Road</option>
</optgroup>
欢迎任何建议。
【问题讨论】:
-
$("#q54").append('</optgroup>')这是不正确的,append不像连接 html 那样工作。当您执行$("#q54").append('<optgroup class="optgroups" label="Team">')时,标签将被创建为一个对象(也可以将其视为带有关闭的标签)。 -
@RejithRKrishnan - 有道理 - 然后我更难过该怎么办!
标签: javascript jquery select drop-down-menu optgroup