2017-05-02 19 views
0

Ich habe al horizontale Form, die dynamisch mit Javascript generiert wird, und jedes Eingabefeld hat eine jquery Auto Vervollständigen, die Daten aus DB mit $ füllt. Methode erhalten.automatisch entsprechende Daten in verschiedene Eingabefelder füllen nach der Auswahl eines Wertes zu einem Eingabefeld Javascript

Ich möchte Daten zum zweiten Eingabefeld mit dem entsprechenden Wert füllen, wenn ich ein Datenfeld zum ersten Eingabefeld auswähle. Hier werden die Zeilen geklont und dann wird die Autocomplete-Funktionalität auch zusammen mit den Zeilen geklont.

enter image description here

Ich bin in der Lage, die Auto-Vervollständigen zu erreichen, aber nicht in der Lage zu erreichen, zu füllen:

Im Bild unten, wenn ich die Kategorie setzt dann will ich das Wertefeld wähle automatisch aufgefüllt wird Daten zum zweiten Eingabefeld.

function loadcategorysetvalue(table,tabdata){ 
    var catsetlov=[]; 
    var catvalov=[]; 
$.get("URL",function(response){ 
    catsetlov=response; 
    }).done(function(){ 
     var row =null; 
     var newId=1; 
     for(var i=0;i<catsetlov.length;i++){ 
     newId++;`enter code here` 
     row=insertrow(table(table,tabdata,"categories"); 
     cell=row.cells[0]; 
     cell.children[0].value=catsetlov[i]; 
     setcatvalue(catsetlov[i]); 
     addbtn(row); 
     var id = cell.children[0].getAttribute("id"); 
     var newId=(id+"_"+newId); 
     cell.children[0].setAttribute("id",newId); 
     $('#'+newId).autocomplete({ 
      source:catsetlov, 
      minLength:0 
     }).focus(function(){ 
      $.get("url",function(response){ 
      catsetlov=response; 
     }); 
      $(this).autocomplete("search",""); 
     }); 
     } 
    }); 
    } 

Antwort

0

Sie die anderen Eingabefelder auf „wählen/ändern“ Ereignis des Autocomplete-Feld einstellen könnte, benutzen Sie bitte folgende Beispiel sehen:

var mySource = [{"label":"Value one","id":"1"},{"label":"Value two","id":"2"},{"label":"Value three","id":"3"}]; 
 

 
$("#txtAutocomplete").autocomplete({ 
 
    source: mySource, 
 
    select: function(event, ui){ 
 
    if(ui.item){ 
 
     $("#hiddenField").val(ui.item.id); 
 
     return ui.item.label; 
 
    } 
 
    else{ 
 
     $("#hiddenField").val(''); 
 
    } 
 
    }, 
 
    change: function(event, ui){ 
 
    if(ui.item){ 
 
     $("#hiddenField").val(ui.item.id); 
 
    } 
 
    else{ 
 
     $("#hiddenField").val(''); 
 
    } 
 
    } 
 
});
<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" /> 
 
<script src="https://code.jquery.com/jquery-1.11.3.js"></script> 
 
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 
<p> 
 
    Start type something like "Val.." 
 
</p> 
 

 
<input type="text" id="txtAutocomplete"> 
 
<input type="text" id="hiddenField" disabled="disabled">

Ich hoffe, es hilft Ihnen, Tschüss.

+0

thankQ @alessandro aber das Problem ist, beide Felder haben unabhängige $ .get Aufrufe und sie sind zwei verschiedene Arrays :( –

+0

wie Array a [1,2,3,4,5,6] und Array b [ a, b, c, d, e, f, g] –

+0

Können Sie nicht in "catsetlov" alle Informationen hinzufügen, die Sie brauchen? – Alessandro

Verwandte Themen