我需要将第一个选中的项目设置为下拉框的索引1.我该怎么做?
我尝试过类似下面的内容。但是我需要在不使用硬编码值的情况下这样做(即没有“Day Camp”)。
//for set default values
$("#ddlServiceCategoryType option").each(function () {
if ($(this).text() == 'Day Camp') {
$(this).attr('selected', 'selected');
return false;
}
});
HTML
<select id="ddlServiceCategoryType" name="ServiceCategoryTypeViewModel.ServiceCategoryType.Id" class="has_sb" style="display: block;"><option value="">-Please select a service category-</option>
<option value="1">Day Camp</option>
<option value="2">Boarding</option>
<option value="3">Pet Sitting</option>
<option value="4">Grooming</option>
</select>
答案 0 :(得分:8)
尝试
$("#ddlServiceCategoryType").val(function () {
return $(this).find('option:eq(1)').attr('value')
});
演示:Fiddle
答案 1 :(得分:4)
如果它始终默认且永不改变,是否有任何理由你不能用HTML做到这一点?
<option selected="selected">
答案 2 :(得分:1)
我不确定我是否正确理解了这个问题。但如果您需要将第一个option
设置为默认选项,则可以使用以下内容。
$('#ddlServiceCategoryType').each(function () {
$(this).find('option:first').prop('selected', true);
});
或者,如果第一个option
始终为-Please select a service category-
,并且您要将下一个选项设置为默认选项,请使用以下内容:
$('#ddlServiceCategoryType').each(function () {
$(this).find('option').eq(1).prop('selected', true);
});
答案 3 :(得分:1)
你可以这样做:
$("#ddlServiceCategoryType option").each(function (k,v) {
if (k === 1) {
$(this).attr('selected', 'selected');
return false;
}
});
答案 4 :(得分:0)
您可以尝试这样的事情
if ($(this).prop('selectedIndex') == 1) {
$(this).attr('selected', 'selected');
return false;
}