2015-10-05 3 views
2

Я новичок в angularjs и имею приложение, и хочу показать список радиовходов. когда пользователь нажимает на один из них, текст ярлыка исчезает. го HTML и JS ниже:angularjs click on label text исчезает

HTML

<form> 
<ul class="list-unstyled"> 
    <li ng-repeat="domain in domains track by $index"> 
     <input type="radio" name="domain" id="{{$index}}" ng-model="domain"> 
     <label for="{{$index}}" ng-bind="domain.name"></label> 
    </li> 
</ul> 
<input class="btn btn-success" value="Submit" type="submit"> 

контроллер

app.controller('domainsCtrl', ['$scope', '$http', function($scope, $http){ 
$scope.domains = [ 
    { 
     name: 'smart.ir' 
    }, 
    { 
     name: 'idiot.com' 
    }, 
    { 
     name: 'smartalec.net' 
    } 
] 
}]); 
+0

Используйте обычный JavaScript. - прослушиватель событий 'click', который устанавливает стиль css' display = none' – Manu

ответ

1

Проблема вы боретесь с тем, что в вашем нг Repeat директивы все ваши радио Входы имеют одну и ту же модельную директиву. Нельзя использовать одну и ту же директиву Model для более чем 1 элемента в angularjs. Вы можете легко отличить ng Models usinf $ index. просто использовать этот один:

<form> 
<ul class="list-unstyled"> 
    <li ng-repeat="domain in domains track by $index"> 
     <input type="radio" name="domain" id="{{$index}}" ng-model="domain{{$index}}"> 
     <label for="{{$index}}" ng-bind="domain.name"></label> 
    </li> 
</ul> 
<input class="btn btn-success" value="Submit" type="submit">