2016-08-03 10 views
0

Ich habe zwei Eingabefelder (Eingabefeld 1 & Eingabefeld 2), die AutoFill-Optionen haben. Wenn ich eine der Optionen im Eingabefeld 1 auswähle, sollte diese ausgewählte Option nicht in den Optionen von Eingabefeld 2 angezeigt werden TU das?Wie vermeidet man die Anzeige ausgewählter Optionen im nächsten Eingabefeld?

input field 1 
<input type="text" ng-model="type1" uib-typeahead="value for value in gettype($viewValue)" > 

input field 2 
<input type="text" ng-model="type2" uib-typeahead="value for value in gettype($viewValue)"> 

$scope.gettype = function(val) { 
return $http.get('api', { 
    params: { 
    type: val, 
    sensor: false 
    } 
}).then(function(response){ 
    return response.data.type; 
}); 
}; 

dies ist nur ein Beispielcode, was im Planung ist zu tun, um eine ng-Wiederholung zu schaffen, die das Eingabefeld so viel wie ich

wiederholt
+0

Sie mit den Tasten [zur automatischen Vervollständigung] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete) Attribut könnten versuchen, auf Ihrem 2 Felder. –

+0

@MarioAlexandroSantini thx für schnelle Antwort. im using ui.bootstrap.typeahead –

+0

@Aswincj wie andere Benutzer bereits gefragt, es wäre einfacher für Sie, um Hilfe zu finden, wenn Sie uns ein Codebeispiel, wo Sie das Problem haben würde. –

Antwort

1

wollten Sie ng-Unschärfe Option

verwenden unter Berücksichtigung autofille_data als Daten

können wir eine Funktion auf ng-Unschärfe nennen

$scope.remode(autofill_data){ 
var index=autofill_data.indexOf($scope.input_val1); 
autofill_data.splice(index, 1); 
} 

Dabei ist $ scope.input_val1 der Wert im Eingabefeld 1

0

Wiederholen Sie für das Erstellen von Textfeld. Danach müssen Sie aus dem Array die ausgewählten Werte entfernen. zum Beispiel:

html code 

<span"><input type="text" ng-model="x.name1"</span> 
<span"><input type="text" ng-model="x.name2"</span> 
<span"><input type="text" ng-model="x.name3"</span> 

js code: 
Suppose your suggestion values are coming from array named $scope.usStates. 
now you have to remove compare both value inside x an $scope.usStates and remove the matching element from $scope.usStates. you can use index of particullar element and splice method for removing an element. 
example: 
$scope.usStates.splice(index, 1); 

$scope.usStates = [ 
    { name: 'ALABAMA', abbreviation: 'AL'}, 
    { name: 'ALASKA', abbreviation: 'AK'}, 
    { name: 'AMERICAN SAMOA', abbreviation: 'AS'}, 
    { name: 'ARIZONA', abbreviation: 'AZ'}, 
    { name: 'ARKANSAS', abbreviation: 'AR'}, 
    { name: 'CALIFORNIA', abbreviation: 'CA'}, 
    { name: 'COLORADO', abbreviation: 'CO'}, 
    { name: 'CONNECTICUT', abbreviation: 'CT'}, 
    { name: 'DELAWARE', abbreviation: 'DE'}, 
    { name: 'DISTRICT OF COLUMBIA', abbreviation: 'DC'}, 
    { name: 'FEDERATED STATES OF MICRONESIA', abbreviation: 'FM'}, 
    { name: 'FLORIDA', abbreviation: 'FL'}, 
    { name: 'GEORGIA', abbreviation: 'GA'}] 

Thanks. 
Verwandte Themen