2016-04-27 14 views
1

aktualisieren Dies ist mein Code, den ich für die automatische Vervollständigung verwenden (von php db I id und Namen bekommen)mehrere id in jquery Handhabung und nur Eingabe derselben ID

<input type="text" id="rubrica_1"><input type="hidden" id="value_1"> 
<input type="text" id="rubrica_2"><input type="hidden" id="value_2"> 
<input type="text" id="rubrica_3"><input type="hidden" id="value_3"> 

Dann Skript ist

$('[id^=rubrica_]').autocomplete({ 
    source:'content/json/autocomplete.php', 
    minLength:2, 
    select: function(event,ui){ 
     $('[id^=value_]').val(ui.item.id); 
    } 
    }); 

Mit dieser Lösung aktualisiere ich alle Werte_1, Wert_2 und Wert_3 mit demselben Wert ...

+1

Sind Sie in der Lage, die html zu ändern? Wenn Sie können, würde ich ein 'data-' Attribut hinzufügen, um sie zu paaren, zB '' dann kann deine letzte Zeile '$ sein (" input: hidden [data-in = '"+ $ (this) .data (" in ") +' ']"). val (... ' –

Antwort

2

Sie können $(this) in select -Funktion verwenden, die sich auf Zieleingabeelement bezieht. zusammen mit nächstem Selektor nächsten versteckten Eingang zum Ziel:

$('[id^=rubrica_]').autocomplete({ 
source:'content/json/autocomplete.php', 
minLength:2, 
select: function(event,ui){ 
    $(this).next().val(ui.item.id); 
} 
}); 
0

Sie Klasse zuweisen Wert gleiche Elemente verwenden können

<input type="text" id="rubrica_1"><input class="same_id" type="hidden" id="value_1"> 
<input type="text" id="rubrica_2"><input class="same_id" type="hidden" id="value_2"> 
<input type="text" id="rubrica_3"><input class="same_id" type="hidden" id="value_3"> 

$('[id^=rubrica_]').autocomplete({ 
source:'content/json/autocomplete.php', 
minLength:2, 
select: function(event,ui){ 
    $('.same_id').val(ui.item.id); 
} 
}); 
+0

Dies würde alle versteckten Eingabeelemente betreffen. –