[英]Select default array from for each in option value
我想设置从“罗马”中选择的默认设置
这是我的js
var listCity = {
"Popular": [
{ "cityname": "London", "code": "LDN" },
{ "cityname": "Rome", "code": "ROM" },
{ "cityname": "Madrid", "code": "MDR" }
],
"Germany":[
{ "cityname": "Hamburg", "code": "HMB" },
{ "cityname": "Frankfurt", "code": "FRN" }
]
}
Object.keys(listCity).forEach(function(key) {
var $group = $('<optgroup label="' + key + '"></optgroup>');
listCity[key].forEach(function(obj) {
$group.append('<option value="' + obj.code[1] + '">' + obj.cityname + '</option>')
})
})
我尝试了这个,但还是有问题。 有人帮助或建议吗? 这是我的jsfiddle: https ://jsfiddle.net/dedi_wibisono17/0c1js6wa/1/
谢谢
就像在小提琴中一样,仅将其添加到最后:
$('#fromCity').val('ROM');
经过测试:)
您可以在将selectgroup html附加到select元素之后,立即设置值。
$('#fromCity').append($group);
$('#fromCity').val("ROM");
小提琴: https : //jsfiddle.net/5gpbvhff/
这是我的解决方案。 希望能帮助到你 :)
只需使用此:
$('select option[value="ROM"]').prop("selected",true);
这是程序的工作方式:
var listCity = { "Popular": [ { "cityname": "London", "code": "LDN" }, { "cityname": "Rome", "code": "ROM" }, { "cityname": "Madrid", "code": "MDR" } ], "Germany": [ { "cityname": "Hamburg", "code": "HMB" }, { "cityname": "Frankfurt", "code": "FRN" } ] } Object.keys(listCity).forEach(function(key) { var $group = $('<optgroup label="' + key + '"></optgroup>'); $('select option[value="ROM"]').prop("selected",true); listCity[key].forEach(function(obj) { $group.append('<option value="' + obj.code + '">' + obj.cityname + '</option>') }) $('#fromCity').append($group); })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <select name="" id="fromCity"></select>
如果您可以控制数据,则可以向其中添加一个选定的属性,
{
"cityname": "Rome",
"code": "ROM",
"selected": true
},
我将通过以下方式选择它。
listCity[key].forEach(function(obj) {
const selected = obj.selected ? 'selected' : '';
$group.append(`<option ${selected} value="${obj.code}">${obj.cityname}</option>`);
});
还要注意,在此示例中我使用template literals
,因为它们更易于阅读,但在IE中不受支持。
否则你可以做这样的事情
$('#fromCity option')[1].setAttribute('selected', 'selected');
或像上面其他人所说的那样设置val(@HenryDev如果采用此路线,可能是最好的)。 我更喜欢使用selected属性来定义最初选择的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.