我正在尝试使用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;我的模型数据?
答案 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
);