Мне было дано требование, чтобы все радиокнопки на нашем сайте были не поддающимися выбору. Я могу сделать это с помощью функции, закодированной для этого набора переключателей. Но я бы предпочел иметь общий, поэтому мне не нужно добавлять одни и те же строки кода снова и снова.Невозможно создать функцию многократного использования для снятия отметки с радио кнопки в AngularJS
Вот моя попытка создать общий. Кажется, он почти работает в том, что он обнаруживает, когда радиатор должен быть очищен (я зашел в консоль), но на самом деле ничего не видно.
$scope.RadioCheckUncheck = function (RadioModel, event) {
if (RadioModel === event.target.value) {
console.log('looks like you clicked this already')
RadioModel = null;
}
}
и HTML
ng-click="RadioCheckUncheck(myModelName, $event)"
http://plnkr.co/edit/HcMfXWTtIRT9WThxE3c5?p=preview
Вот подобная версия, которая работает, но это жёстко.
http://plnkr.co/edit/00XCKeiIJJeFj96yARjC?p=preview
Что около $ таймаута (функция() {$ (». anycommonclass ') атр (' checked ', false) .trigger (' change ');}); –
Ну, вот [Как отменить выбор радиокнопки] (http://stackoverflow.com/q/10876953/4320665). Тогда вам просто нужно найти хороший способ сделать все переключатели недоступными. Я бы лично пошел с применением настраиваемой директивы атрибута для определенных радиовходов. – ryanyuyu