html select即使设置为set也不显示为选中

kul*_*boj 3 html html-select selectedvalue

我有一个国家/地区下拉列表,并将所选属性设置为美国。我可以清楚地看到select =“ selected”进入在萤火虫中具有US值的select OPTION中。但是,无论是Firefox还是Chrome,都不会显示US为选中状态。我有以下用于填充和选择国家/地区的代码。

var countryData = getCountryData();
var html = '<option value="">Select Country</option>'; 
$.each(countryData, function(key,value) {
    if(defaultValue == value.id)
    {
        html = html + '<option value="'+value.id+'" selected="selected">'+value.name+'</option>';
    }
    else
    {
        html = html + '<option value="'+value.id+'">'+value.name+'</option>';
    }
});
countryField.html(html);
Run Code Online (Sandbox Code Playgroud)

如果确实由于某种原因浏览器没有显示所选内容,即使我们设置了所选属性也是如此。

更新:好的,正如我所期望的,它必须与其他代码冲突。确实是这样。我正在使用bootstrapValidator和执行此行为的特殊调用“ resetForm”。然而,我不明白的一件事,为什么仍然在Firebug中的html select显示出selected属性?但是最后我将这段代码放在了resetForm调用之后。感谢所有的建议和帮助。

Gog*_*gol 5

我遇到了多个选择未选择选定值的特殊问题。我最终要做的是用JS选择它们(我的应用程序中有jQuery,这样比较容易),如下所示:

$('#select_element').find('option[selected="selected"]').each(function(){
    $(this).prop('selected', true);
});
Run Code Online (Sandbox Code Playgroud)

我知道这很丑陋,应该避免,但是如果没有任何效果,那么它将起作用。


And*_*Luo 1

你不需要 selected="selected" 只是 value.id + ' selected>' + ...也应该不是最后,检查一下

defaultValue == value.id
Run Code Online (Sandbox Code Playgroud)

在调试器中。