Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   Suggest (http://www.forosdelweb.com/f127/suggest-578976/)

FlashO 23/04/2008 01:41

Suggest
 
Hola he descargado un ejemplo de Ajax para autocompletar una caja de texto.
Lo que quisiera es que el ejemplo leyerá de mi base de datos sql, y no de lo especificado en el código:

Código:


<SCRIPT type=text/javascript>
function findValue(li) {
if( li == null ) return alert("No match!");

// if coming from an AJAX call, let's use the CityId as the value
if( !!li.extra ) var sValue = li.extra[0];

// otherwise, let's just display the value in the text box
else var sValue = li.selectValue;

alert("The value you selected was: " + sValue);
}

function selectItem(li) {
findValue(li);
}

function formatItem(row) {
return row[0] + " (id: " + row[1] + ")";
}

function lookupAjax(){
var oSuggest = $("#CityAjax")[0].autocompleter;

oSuggest.findValue();

return false;
}

function lookupLocal(){
var oSuggest = $("#CityLocal")[0].autocompleter;

oSuggest.findValue();

return false;
}



$("#CityLocal").autocompleteArray(
[
"Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", "Adena", "Adrian", "Akron",
"Albany", "Alexandria", "Alger", "Alledonia", "Alliance", "Alpha", "Alvada",
"Alvordton", "Amanda", "Amelia", "Amesville", "Amherst", "Amlin", "Amsden",
"Amsterdam", "Andover", "Anna", "Ansonia", "Antwerp", "Apple Creek", "Arcadia",
"Arcanum", "Archbold", "Arlington", "Ashland", "Ashley", "Ashtabula", "Ashville",
"Athens", "Attica", "Atwater", "Augusta", "Aurora", "Austinburg", "Ava", "Avon",
"Avon Lake", "Bainbridge", "Bakersville", "Baltic", "Baltimore", "Bannock",
"Barberton", "Barlow", "Barnesville", "Bartlett", "Barton", "Bascom", "Batavia",
"Bath", "Bay Village", "Beach City", "Beachwood", "Beallsville", "Beaver",
"Beaverdam", "Bedford", "Bellaire", "Bellbrook", "Belle Center", "Belle Valley",
"Bellefontaine", "Bellevue", "Bellville", "Belmont", "Belmore", "Beloit", "Belpre",
"Benton Ridge", "Bentonville", "Berea", "Bergholz", "Berkey", "Berlin",
"Berlin Center", "Berlin Heights", "Bethel", "Bethesda", "Bettsville", "Beverly",
"Bidwell", "Big Prairie", "Birmingham", "Blacklick", "Bladensburg", "Blaine",
"Blakeslee", "Blanchester", "Blissfield", "Bloomdale", "Bloomingburg",
"Bloomingdale"
{
delay:10,
minChars:1,
matchSubset:1,
onItemSelect:selectItem,
onFindValue:findValue,
autoFill:true,
maxItemsToShow:10
}
);
});
</SCRIPT>

Alguien me puede ayudar ??
Muchas gracias:-)

GatorV 23/04/2008 09:07

Re: Suggest
 
Mmm ¿cual es tu problema? o ¿deseas que alguien te haga el código para que solo tu lo pegues?

Saludos.

mp3man 19/09/2008 00:19

Respuesta: Suggest
 
Buenas,
la idea es que realices una llamada síncrona, sobretodo que sea síncrona a un archivo php o lo que sea que devuelva por ejemplo un xml con toda la información de la lista, para luego añadirlo a una variable global de javascript en el responseXml o responseText del objeto XmlHttpRequest. Luego puedes hacer lo que quieras con esa variable, transformarla a un array para añadirlo al elemento de tu capa.
Ojo que con Firefox debido a un bug no funcionan las llamadas síncronas, simplemente no hace nada.


La zona horaria es GMT -6. Ahora son las 16:08.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.