AngularJS: les boutons Radio ne fonctionnent pas avec Bootstrap 3
J'ai un bouton radio, qui définit la valeur de True
ou False
basé sur la valeur de la transaction de type
La démo peut être trouvé ici
Le problème est que lorsque je clique sur l'un des bouton radio, la valeur de $scope.transaction.debit
ne change pas
Mon code javascript est
var app = angular.module('myApp', []);
app.controller("MainCtrl", function($scope){
$scope.transaction = {};
$scope.transaction.debit=undefined;
console.log('controller initialized');
});
S'il vous plaît laissez-moi savoir ce que je fais de mal.
Aussi, je ne veux pas utiliser Angular-UI
ou AngularStrap
à cette fin, sauf si aucune autre option n'est disponible.
Vous êtes de droite. Enlever le code de démarrage autour de votre radio boutons rend le travail encore une fois. Je soupçonne les boutons radio sont en fait de ne pas être sélectionné en raison de bootstrap? Notez que la suppression de la référence de script à l'bootstrap.js fichier aussi fait travailler à nouveau, même avec le css
Vous pouvez également consulter pour des problèmes similaires (Angulaires-Bracelet Bouton Radio ne sera pas de mise à jour du modèle). Bien qu ' il s'agit d'une collision de la bibliothèque et il se réfère principalement à
Vous pouvez également consulter pour des problèmes similaires (Angulaires-Bracelet Bouton Radio ne sera pas de mise à jour du modèle). Bien qu ' il s'agit d'une collision de la bibliothèque et il se réfère principalement à
bootstrap3
+ angular-strap
, mais quelqu'un (ou vous) peuvent se tourner pour elle.OriginalL'auteur daydreamer | 2013-10-03
Vous devez vous connecter pour publier un commentaire.
Vous avez une grande étiquette collée sur le dessus de la radio boutons qui empêche l'entrée de vos boutons radio.
Le code html doit se lire:
Il travaille ensuite, bien sûr, il peut ne pas regarder la façon dont vous le souhaitez.
Une alternative consiste à gérer le clic et les données d'interaction à l'aide ng-cliquez sur les étiquettes. Vous serait alors de ne pas avoir à le retirer de bootstrap, javascript. plnkr.co/modifier/8i86U2?p=preview
Ce lien explique comment utiliser Bootstrap et Angulaire: scotch.io/tutoriels/...
Même Plunker est peluchage à propos de ce mauvais
</input>
balise de fermeture. Comment est-ce une réponse choisie?OriginalL'auteur user2789093
J'ai modifié dpineda de la solution. Vous pouvez utiliser sans enlever bootsrap.js la dépendance. Il y a aussi un exemple de travail ici.
C'est l'écoulement:
data-toggle="buttons"
pour la prévention de bootstrap exécution.html
JavaScript
Style
data-toggle="buttons"
pour désactiver le peu de bootstrap.js la fonctionnalité et puis ajoutez le au-dessus de style pour compenser la réapparition de la radio boutons.OriginalL'auteur Fırat KÜÇÜK
J'ai trouvé le problème dans
bootstrap.js
. Commentaire de la lignee.preventDefault()
, il fonctionne.OriginalL'auteur Lalit
si vous retirez de code d'amorçage, vous pouvez contrôler les styles avec des conditions
OriginalL'auteur dpineda
Voici une version de travail à l'aide d'une nouvelle directive:
html
javascript
.debit=undefined
est de ne rien faire du tout. -1OriginalL'auteur francisco.preller
Basé sur francisco.preller de réponse, j'ai écrit deux solutions à essayer de l'adapter pour un usage générique, sans perdre la balise input:
html:
solution #1:
Solution #2:
J'ai le sentiment que le premier est mieux parce qu'il angulaire de faire le travail de mise à jour.
OriginalL'auteur Shlomi Loubaton
J'ai le même problème, dans mon cas, le changement de style par défaut et ne peut pas utiliser angulaire ng-modèle à l'intérieur de n'importe quelle radio ou une case à cocher bouton. J'ai donc lu quelques articles et trouvé que, parfois, si vous charger JQuery après Bootstrap il écrase quelque chose et de prévenir les styles par défaut et les composants pour être chargé comme bootstrap composants, cela se produit également si vous chargez angularJS après jQuery ou vice-versa.
PS.- Ma réponse: Vérifiez votre script de charge de la pile, jouer avec elle et de trouver la commande qui fonctionne pour vous. (première jquery, puis angularJs, enfin bootstrap).
Unfortnatelly, cela a résolu ce problème spécifique, mais ont tout cassé d'autre depuis jQuery est une dépendance de Bootstrap
OriginalL'auteur Aosi
J'ai eu le même problème. Utilisation ng-cliquez sur vos étiquettes et cela fonctionnera très bien avec bootstrap
Ici, il travaille dans plunker
OriginalL'auteur osm0sis