Ora sto cercando di ottenere il valore dall'elenco a discesa di selezione, ma restituisce undefined. Il fatto è che nel livello di html funziona come si aspetta, Ecco il mio codice:Il valore di selezione di Angularjs non è definito
<div class='subcontent'>
<input id="me" type="radio" class='choosemethod' ng-model="paymentmethod" value="Y"><label for="me" class='choosemethod'>Me</label>
<input id="company" type="radio" ng-model="paymentmethod" value="N" class='choosemethod'><label for="company" class='choosemethod'>My Company</label><br/>
<span class='helptext'>Who makes payments to this account?</span><span class='help' style='margin-left:20px;width:20px;height:20px;'>help</span>
</div>
<div class='paymentmethods subcontent' ng-switch on="paymentmethod">
<select ng-model='selectedmethod' ng-init="selectedmethod=Memethods[0]" id='methods' ng-switch-when='Y'>
<option ng-repeat="method in Memethods" value="{{method}}">{{method}}</option>
</select>
<select ng-model='selectedmethod' ng-init="selectedmethod=companies[0]" ng-switch-when='N' style='float:left'>
<option ng-repeat='companyoption in companies' value="{{companyoption}}">{{companyoption}}</option>
</select>
<div class='clear'></div>
<label for ='methods'>Payment Method</label><span class='help' style='margin-left:20px;width:20px;height:20px;'>help</span>
</div>
In js:
$scope.Memethods = ['Same as Card/Account Name','American Express','American Express Corp','Cash','Checking','MasterCard','My Visa','VISA'];
$scope.companies = ['Company Paid','MyAMEX'];
si vede bene in pagina, ma quando provo ad ottenere il valore, mostra non definito. qualche idea?
Hai esaminato la possibilità di impostare le opzioni di selezione con la direttiva ng-options? Quindi non devi generare tu stesso i tag delle opzioni e ha anche altri vantaggi. Ho trovato che fosse più facile di quanto mi aspettassi una volta che l'ho provato. I documenti possono spiegarlo molto meglio di me: https://docs.angularjs.org/api/ng/directive/ngOptions –