在下拉框中设置默认选定项目

时间:2013-09-17 12:51:06

标签: jquery

我需要将第一个选中的项目设置为下拉框的索引1.我该怎么做?

我尝试过类似下面的内容。但是我需要在不使用硬编码值的情况下这样做(即没有“Day Camp”)。

 //for set default values
                    $("#ddlServiceCategoryType option").each(function () {
                        if ($(this).text() == 'Day Camp') {
                            $(this).attr('selected', 'selected');
                            return false;
                        }
                    });

enter image description here

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>

5 个答案:

答案 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;
    }