选择框不会选择值,它会显示选项但无法选择

时间:2014-09-06 23:13:03

标签: angularjs angularjs-directive angularjs-scope

我使用ng-options填充选择。在值中,它给出了一个addon_id(来自json数据),名称是addon_name。但是我还有一个名为addon_priceoption的变量(可以免费&#39;付费&#39;)如果付费我想显示addon_price ...这可以使用以下代码:< / p>

  <div ng-show="group.group_optiontype == 'single'">
    <select ng-model="foo1" ng-options="singleAddon.addon_name as formattedLabel(singleAddon) for singleAddon in group.addons track by singleAddon.addon_id" name="addon-single" class="form-control-wrapper col-xs-12 col-sm-12 col-lg-12">
       <option value="" ng-hide="foo1">Choose please </option>
    </select>
  </div>

//在控制器中

$scope.formattedLabel = function(singleAddon){
  if(singleAddon.addon_priceoption =='paid'){
   return singleAddon.addon_name + ' (+ €' + singleAddon.addon_price +' )';
  }else{
   return singleAddon.addon_name;
  }
};

我得到一个包含所有选项的选择框。如果选择有价格,它也会显示价格。但由于某种原因,我现在无法选择一个选项。我可以点击它,但它不会改变它保持默认值。

当我这样做时:

singleAddon.addon_name for singleAddon in group.addons track by singleAddon.addon_id

在NG选项中,我可以选择选项..但是价格修改我无法选择?

为什么会这样?

1 个答案:

答案 0 :(得分:0)

请注意您的代码

<select ng-model="foo1" ng-options="singleAddon.addon_name as formattedLabel(singleAddon) for singleAddon in group.addons track by singleAddon.addon_id" name="addon-single" class="form-control-wrapper col-xs-12 col-sm-12 col-lg-12">
       <option value="" ng-hide="foo1">Choose please </option>
    </select>

你正在做&#34; ng-options =&#39; singleAddon.addon_name&#39;&#34;并且您已经在您的formattedLabel函数中返回了名称,而不是对象本身。