Ho alcune forme. Ogni modulo ha alcuni pulsanti di opzione possibili e un pulsante di invio. È possibile controllare solo un pulsante di opzione (utilizzando lo stesso attributo del nome per ciascuna radio). Come posso ottenere il valore del pulsante radio selezionato quando il modulo viene inviato, usando angularjs? @blesh consiglia di utilizzare lo stesso modello -g per ogni input, ma si noti che il problema è che i tag di input sono generati usando ng-repeat, ed è qui che inizia il problema. Naturalmente ho bisogno, naturalmente, di un solo pulsante per un mucchio di input. È ben descritto nel seguente plunker, dopo aver giocato con la risposta di @blesh: http://plnkr.co/edit/5KTQRGdPv3dbP462vq1a?p=preview In esso, è possibile vedere che l'avviso mostra il valore iniziale e non l'input selezionato corrente.Come posso ottenere il valore del pulsante di opzione selezionato quando si invia un modulo utilizzando angularjs?
risposta
Il valore del pulsante di opzione sarà disponibile su qualsiasi proprietà di ambito a cui è stato assegnato ng-model = "" sull'elemento di input. Provare qualcosa di simile:
JS
app.controller('MyCtrl', function($scope){
$scope.submitForm = function(){
alert($scope.radioValue):
};
$scope.radioValue = 1;
});
HTML
<form name="myForm" ng-controller="MyCtrl" ng-submit="submitForm()">
<label><input type="radio" name="test" ng-model="radioValue" value="1"/> One</label>
<label><input type="radio" name="test" ng-model="radioValue" value="2"/> Two</label>
<label><input type="radio" name="test" ng-model="radioValue" value="3"/> Three</label>
<div>currently selected: {{radioValue}}</div>
<button type="submit">Submit</button>
</form>
E, in modo da poter vedere che funziona, here is a plunker demonstrating the example
Basta aggiungere $parent
in ng-model
.
<form name="myForm" ng-submit="submitForm()">
<label data-ng-repeat="i in [1,2,3]"><input type="radio" name="test" ng-model="$parent.radioValue" value="{{i}}"/>{{i}}</label>
<div>currently selected: {{radioValue}}</div>
<button type="submit">Submit</button>
</form>
Grazie amico! $ genitore ti consente di uscire dal limite "ng-repeat" e quindi puoi accedere al valore della variabile $ scope. Eccezionale. –
benvenuto Alauddin Ansari. Grazie – Jethik
combinazione con ng valore
app.controller('MyCtrl', function($scope){
$scope.submitForm = function() {
*****
};
$scope.radioBtn = {
name: 'radioButton'
};
$scope.radioValueOne = {"id": "1", "value": "whatever you want"};
$scope.radioValueTwo = {"id": "2", "value": "whatever you want"};
$scope.radioValueThree = {"id": "3", "value": "whatever you want"};
});
<form name="myForm" ng-controller="MyCtrl" ng-submit="submitForm()">
<label><input type="radio" name="test" ng-model="radioBtn.name" ng-value="radioValueOne"/> One</label>
<label><input type="radio" name="test" ng-model="radioBtn.name" ng-value="radioValueTwo"/> Two</label>
<label><input type="radio" name="test" ng-model="radioBtn.name" ng-value="radioValueThree"/> Three</label>
<div>currently selected: {{radioBtn.name}}</div>
<button type="submit">Submit</button>
</form>
Ho affrontato questo problema e trovato una soluzione molto semplice e pulito. Ecco cosa dovresti fare.
Nel controller, creare un oggetto vuoto con qualsiasi nome ("valore radio" in questo caso).
Nel file HTML, utilizzare lo stesso 'modello-ng' per ciascun pulsante di opzione/input con lo stesso nome di attributo 'nome' dell'oggetto che unisce ciascun pulsante di opzione (che dovrebbe essere uguale per ogni pulsante) separato da un punto (.) come mostrato nello snippet di codice.
Il controller
var radioValue={};
...
...
console.log($scope.radiovalue) //use JSON.strinigify if naccessary
il file HTML
<input type="radio" name="somename" ng-model="radioValue.somename" value="1"/>
<input type="radio" name="somename" ng-model="radioValue.somename" value="2"/>
<input type="radio" name="somename" ng-model="radioValue.somename" value="3"/>
//Don't forget to mention value attribute. ng-model does the work by identifying the radio-buttons/inputs by value attribute
L'uscita si dovrebbe aspettare
{"somename":"1"} //if radio-button with value "1" is selected.
- 1. come posso ottenere il valore selezionato del pulsante di opzione?
- 2. (extjs) Ottieni il valore selezionato del pulsante di opzione nel modulo. Non si restituisce il valore
- 3. Ottenere il valore da un pulsante di opzione utilizzando javascript
- 4. Come ottenere il valore del pulsante di opzione selezionato in angularjs
- 5. Android ottiene il valore del pulsante di opzione selezionato
- 6. JQuery: come ottenere il valore del pulsante di scelta selezionato?
- 7. Aggiungi l'attributo 'selezionato' utilizzando il valore opzione
- 8. Assegnare un valore iniziale al pulsante di opzione come selezionato
- 9. HTML: Invia modulo sul pulsante di opzione controllo
- 10. Come ottenere il pulsante di opzione selezionato da ToggleGroup
- 11. ottenere il valore selezionato del pulsante di opzione in caso di azione
- 12. Ottenere valore pulsante di scelta quando si fa clic sul pulsante non funziona angularjs
- 13. Evento per il pulsante di opzione selezionato?
- 14. Come ottenere il valore del pulsante di scelta selezionato utilizzando js
- 15. jquery javascript: agire quando si seleziona il pulsante di opzione
- 16. Il caricamento del file AngularJS invia il modulo scaduto Dati
- 17. Il pulsante di invio modulo non verrà inviato quando il nome del pulsante è "Invia"
- 18. invia modulo utilizzando tag di collegamento con angularjs
- 19. Ottiene il pulsante di opzione selezionato in un gruppo (WPF)
- 20. valore iniziale nel pulsante di opzione django
- 21. Ottieni l'indice del pulsante di opzione selezionato nel gruppo
- 22. Django Modulo pulsante Invia
- 23. Verifica di un pulsante di opzione con jQuery quando il pulsante di opzione è runat = "server"?
- 24. Tipo di input immagine invia il valore del modulo?
- 25. invia modulo utilizzando HTTPURLConnection
- 26. impostato il pulsante di opzione php selezionato per impostazione predefinita
- 27. Cambiare il valore del testo di input AngularJS utilizzando javascript
- 28. Come sapere quale pulsante di opzione è selezionato in jQuery?
- 29. Ottenere il valore selezionato di un SelectOneMenu
- 30. Convalidare un modulo per assicurarsi che almeno un pulsante di opzione sia selezionato in un gruppo
Questo è quello che ho pensato, ma la il valore non cambia e rimane come è stato inizializzato. Che cosa sto facendo di sbagliato? @blesh – user2057574
Bene, il modello ng, il nome e gli attributi del valore sono richiesti su ciascun ingresso radio. Assicurati che ci siano. Assicurati inoltre che i tuoi input siano all'interno di un tag con il riferimento appropriato per il controller ng. –
Continuo a giocarci, e non riesco a trovare il problema. Quando aggiungo {{radioValue}} all'html, vedo il valore corrente corretto, ma quando invio il modulo, l'avviso mostra il valore dell'inizializzazione. @blesh – user2057574