Reindirizzare gli utenti su selezionare dalla funzione di completamento automatico?
-
21-09-2019 - |
Domanda
sto cercando di implementare il plugin jQuery completamento automatico. Ho installato e funzionante, ma qualcosa non funziona correttamente.
In sostanza ho un completamento automatico-elenco di dipendenti. L'elenco viene generato da una tabella di un database SQL (employee_names e employee_id), utilizzando un gestore di VB.NET (file Ashx). I dati è formattato come: NOME_DIPENDENTE-employee_id. Fin qui tutto bene e tutti i dipendenti sono elencati in completamento automatico.
Il problema è che non so come reindirizzare un utente a una determinata pagina (ad esempio employee_profile.aspx) quando hanno scelto un dipendente dal completamento automatico.
Questo è il mio reindirizzamento-codice, ma non funziona come dovrebbe:
$('#fname2').result(function(event, data, formatted) {
location.href = "employee_profile.aspx?id=" + data
});
Per esempio; un utente seleziona Sarà reindirizzare un utente a employee_profile.aspx id = nome del dipendente-id di dipendente ? (Ad esempio:? Employee_profile.aspx id = John Doe-91210) al posto di employee_profile.aspx id = 91210? .
So che posso spogliare l'Employee_ID con:
formatResult: function(data, value) {
return value.split("-")[1];
}
});
Ma non so come passare che employee_id alla redirect-page ..
Ecco tutto il mio codice:
$().ready(function() {
$("#fname2").autocomplete("AutocompleteData.ashx", {
minChars: 3,
selectFirst: false,
formatItem: function(data, i, n, value) {
return value.split("-")[0];
},
//Not used, just for splitting employee_ID
//formatResult: function(data, value) {
// return value.split("-")[1];
//}
});
$('#fname2').result(function(event, data, formatted) {
location.href = "employee_profile.aspx?id=" + data
});
});
Lo so che sono molto vicino e dovrebbe essere qualcosa di molto semplice, ma qualcuno mi può aiutare?
Modifica
Ciò ha risolto per me: formatted.split invece di data.split. Codice:
$('#fname3').result(function(event, data, formatted) {
var employeeId = formatted.split("-")[1];
location.href = "employee_profile.aspx?id=" + employeeId
});
Soluzione
Stai dicendo che che sta destinando con successo, ma piuttosto che andare a ...
employee_profile.aspx? Id = 91210
Si sta per ...
employee_profile.aspx? Id = John Doe-91210 ??
Se questo è il caso ... allora si può semplicemente eseguire il vostro striping all'interno della vostra funzione di risultato ...
$('#fname2').result(function(event, data, formatted) {
var employeeId = data.split("-")[1];
location.href = "employee_profile.aspx?id=" + employeeId
});
Altri suggerimenti
Credo location.href
dovrebbe essere window.location