【问题标题】:How to make first option selected in chosen select如何在选择的选择中选择第一个选项
【发布时间】:2015-08-20 11:59:29
【问题描述】:

我选择了 select,我的选项通过 ng-model 和 ng-options 获得。加载页面时如何选择第一个选项?

<select chosen data-placeholder="Choose a project..."
    ng-model="workflow.ProjectID" 
    ng-model-options="{ updateOn: 'blur' }" 
    ng-change="addActionButtons()"
    ng-options="item.Id as item.Name for item in projectList">
    <option value=""></option>
</select>

这是控制器:

$scope.bindModel = function(data) {
    $scope.model = data;
    $scope.projectList = Global.projectList;
    $scope.Task.push($scope.newTask());
};

$scope.Task = [];

$scope.newTask = function() {
    return {                        
        ProjectId: $scope.workflow.ProjectID = $scope.projectList[0].Id,
        Date: getDate(),
        TaskDescription: '',
        TimeWorked: '1',
        Note: '',
        isSaved: false
   };

};

【问题讨论】:

标签: angularjs jquery-chosen


【解决方案1】:

您可以使用ng-init

使用

ng-init="workflow.ProjectID = projectList[0]['Id']"

【讨论】:

  • @HUSTLIN:欢迎! :-)
【解决方案2】:

在你的控制器上,你必须这样写:

//If workflow is never use in your controller, you have to declare it before
$scope.workflow = {}; 
$scope.workflow.ProjectID = $scope.projectList[0].Id;

【讨论】:

  • 我有一个错误:无法设置未定义的属性“ProjectID”。我在问题中添加了我的 ctrl 代码
  • @HUSTLIN 这是因为您仅在 ng-model 上使用它,并且 worflow 不想声明。编辑完成。
【解决方案3】:

你可以试试这样的:

 //init list select
$scope.values = [{ id: 1, label: '1' }, { id: 2, label: '2' }, { id: 3, label: '3' }, { id: 10, label: '10' }, { id: 20, label: '20' }];
// in your html ng-init select the first items in values 
<select ng-options="item.label for item in values track by item.id" ng-model="selected"  ng-change="changeNumPerPage(selected)" ng-init="selected = values[0]"></select>

【讨论】:

    猜你喜欢
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    相关资源
    最近更新 更多