如何在HTML选择标记中显示默认选项值

如何在HTML选择标记中显示默认选项值

问题描述:

我将动态值附加到HTML选择。如何在HTML选择标记中显示默认选项值

我做这种方式

var response = { 
    "companies": [{ 
     "companyID": 2, 
     "companyName": "RAvi Corporation Ltd." 
    }, { 
     "companyID": 3, 
     "companyName": "Kiran Cement Ltd." 
    }, { 
     "companyID": 4, 
     "companyName": "ACC Ltd." 
    }] 
} 

var companies = '<option value="">All Companies</option>'; 
for (var i = 0; i < response.companies.length; i++) { 
    companies += '<option value="' + response.companies[i].companyID + '" selected>' + response.companies[i].companyName + '</option>' 
} 
$("#companieslist").html(companies); 

被显示在HTML选择的最后一个值,则可以显示所有公司的第一个值?

这是我的jsfiddle

https://jsfiddle.net/cf7hnvcq/1/

能否请你让我知道如何做到这一点

设置的select值清空。这会将默认值设置为下拉菜单。

$('#companieslist').val(''); 

Demo

或者,你可以从for环去除optionselected属性。这会将第一个option设置为选中状态。

var response = { 
 
    "companies": [{ 
 
    "companyID": 2, 
 
    "companyName": "RAvi Corporation Ltd." 
 
    }, { 
 
    "companyID": 3, 
 
    "companyName": "Kiran Cement Ltd." 
 
    }, { 
 
    "companyID": 4, 
 
    "companyName": "ACC Ltd." 
 
    }] 
 
}; 
 

 

 
var companies = '<option value="">All Companies</option>'; 
 
for (var i = 0; i < response.companies.length; i++) { 
 
    companies += '<option value="' + response.companies[i].companyID + '">' + response.companies[i].companyName + '</option>'; // Remove selected attribute from here 
 
} 
 
$("#companieslist").html(companies);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> 
 
<div> 
 
    <select id="companieslist" name="companieslist"></select> 
 
</div>

只有你想用默认值,看看应该有selected属性的选项。

线20应该是:

var companies = '<option value="" selected>All Companies</option>'; 

和线22应该是:

companies += '<option value="' + response.companies[i].companyID + '">' + response.companies[i].companyName + '</option>' 

DEMO

+0

对于完整的浏览器支持,给所选择的属性也被选择的值,象这样在第一个'选项'上不需要''selected =“选择'' –

+0

''。 – Tushar

+0

@Tushar是真实的,但明确地加入它使得它更清晰。 – Inkbug