选择下拉列表中的空值选项

时间:2015-09-09 01:40:27

标签: javascript angularjs select

我正在尝试创建一个选择下拉列表,该下拉列表模拟到作为数组一部分的对象内的特定参数但是我希望“null value”参数实际上具有一个值(或者只是能够插入一个额外的下拉列表中的选项。

<select class="form-control" ng-model="question.defaultGoToQuestion" ng-options="question.sequence as question.questionHeading for question in survey.questions">
  <option value="-1">Finish</option>
</select>

然而,angular只是忽略select标记内部,除非它具有空值value=""。无论value of -1数组中的内容是什么,我怎样才能始终选择survey.questions

我也忘了提到-1应该是一个整数,这样模型总是可以与整数值相关联而不是字符串。

快速更新

我想要的东西几乎完全像这样:

<select class="form-control" ng-model="question.defaultGoToQuestion" ng-options="question.sequence as question.questionHeading for question in survey.questions">
  <option value="">Finish</option>
</select>

除非我需要在完成选项中获得-1值。

2 个答案:

答案 0 :(得分:0)

如果您使用类似的内容来指定键/值对,则可以指定所需的值:

<select ng-model="selectedOption" ng-options="option for (key, value) in options"></select>

JavaScript的:

$scope.options = {
    'select': -1,
    'one': 1,
    'two': 2,
    'three': 3,
    'four': 4,
    'five': 5,
    'six': 6
   };

$scope.selectedOption = $scope.options[0];

答案 1 :(得分:0)

有点反直觉,你需要模型有一个值,但不希望它在数据结构中定义它。

对于一种方法,您可以使用unshift

将元素添加到数据数组的开头
$scope.survey.questions.unshift({sequence: -1, questionHeading: 'Finish'});
$scope.question.defaultGoToQuestion = $scope.survey.questions[0];