设置'选择'作为使用angularjs的下拉列表中的默认值

时间:2016-01-06 03:58:50

标签: html angularjs

我正在尝试使用angularjs进行简单的下拉列表,并希望在下拉值更改时调用函数。只有在下拉菜单选择为“A'”时,我才会在我的页面中显示其他一些元素(例如“你好'”)。 这是jsfiddle http://jsfiddle.net/gkJve/932/

HTML

<div ng-controller="Ctrl">
    <select id="sel" class="input-block-level" ng-model="list_category" ng-options="obj.name for obj in list_categories" ng-change="DropDownChange()">    
        <option value="">Select</option>
    </select>
    <div ng-show="showdiv">
      Hello
    </div>
   <div>

var app = angular.module('app', []);
    $scope.showdiv=false;
function Ctrl($scope) {  
    $scope.list_categories =  [{
            id: 'id1',
            name: 'A'
        }, {
            id: 'id2',
            name: 'B'
        }];       
      $scope.DropDownChange = function() {
      $scope.showdiv = angular.equals($scope.list_category.name,'A');
  }
}

结果 - &#39;您好&#39;当&#39; A&#39;当&#39; B&#39;被选中并隐藏被选中。但问题是,如果我选择A&#39;然后将我的选择更改为&#39;选择&#39;,&#39;你好&#39;仍然显示。我认为这是因为&#39;选择&#39;不是比较失败的模型数据值之一。有没有其他方法可以使这项工作没有添加&#39;选择&#39;我的模型数据?

2 个答案:

答案 0 :(得分:1)

像这样使用

<div ng-show="list_category.name == 'A'">

答案 1 :(得分:1)

#!/root/localperl/bin/perl5.22.0

use strict;
use warnings;

use Selenium::Firefox;
use Selenium::Firefox::Profile;
use Selenium::Remote::WDKeys;
use Selenium::Waiter;
use Data::Dumper;
use Time::Piece;
use Config;
use YAML;

logit("Attempting to create profile");

my $start = getTime();

my $profile = Selenium::Firefox::Profile->new;

unless ($profile) {
    logit("Create profile object failed");
    exit 1;
}

unless ( $ARGV[3] and -d $ARGV[3] ) {
    logit("Profile create failed - invalid profile dir");
    exit 1;
}

$profile->{profile_dir} = $ARGV[3];
logit("Profile created, attempting browser start");

my $ff = Selenium::Firefox->new(
    default_finder  => 'id',
    firefox_profile => $profile
);

Fiddle