选择<选择>时更改按钮的颜色</select>

时间:2014-07-15 20:33:18

标签: angularjs

大家好!我是stackoverflow.com的新手。我有一个问题如下:

1)HTML:   1.1):

<select class="fm_textbox" name="sltGender" ng-model="measurementsForm.gender" ng-class="{'fm_error':measurementsForm.error_gender}" ng-change="change_state(0, measurementsForm.gender)">
                                <option value=""></option>
                                <option value="woman">Femme</option>
                                <option value="man">Homme</option>
                            </select>

1.2):

<button type="submit" class="fm_button" my-button="measurementsForm.gender != ''">CALCULER MA TAILLE</button>

2)directive.js:

angular.module('FitManagerApp.directives', []).directive('myButton',  function(){
return {
    restrict: 'A',
    scope: {
        myButton: '='
    },
    link: function(scope, element, attrs) {
        if (!myButton) {
            element.css('background-color', 'red');
        }
        else {
            element.css('background-color', 'black');
        }
    }
};

});

我还有一个包含变量的controllers.js:measurementsForm.gender。 当我有价值时,我希望我的颜色变黑。如果不是,那就是红色。 在我发布这个问题之前,我已经搜索了许多关于“通信指令控制器”的问题,我使用了“=”,就像他们推荐的那样但是没有用。

1 个答案:

答案 0 :(得分:0)

您的链接功能中没有变量myButton,您需要检查是否!scope.myButton,因此您的链接功能将如下所示:

if (!$scope.myButton) {
   element.css('background-color', 'red');
}
else {
   element.css('background-color', 'black');
}