1

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

我已经尝试过类似下面的方法。但我需要在不使用硬编码值的情况下这样做(即没有“日营”)。

 //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>
4

5 回答 5

8

尝试

$("#ddlServiceCategoryType").val(function () {
    return $(this).find('option:eq(1)').attr('value')
});

演示:小提琴

于 2013-09-17T12:53:21.797 回答
4

如果它始终默认并且从不更改,那么您有什么理由不能在 HTML 中执行此操作吗?

<option selected="selected">
于 2013-09-17T12:55:42.730 回答
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);
});
于 2013-09-17T13:01:41.037 回答
1

你可以这样做:

$("#ddlServiceCategoryType option").each(function (k,v) {
 if (k === 1) {
    $(this).attr('selected', 'selected');
    return false;
  }
});
于 2013-09-17T13:42:16.753 回答
0

你可以试试这样的

if ($(this).prop('selectedIndex') == 1) {
       $(this).attr('selected', 'selected');
       return false;
    }
于 2013-09-17T12:54:34.960 回答