Tengo hecho un código para hacer esto pero es bastante mejorable aunque no acabo de encontrar la forma de hacerlo:
Este php recoge los datos de la BBDD (todo OK)
Código PHP:
<?
//Connecto amb la BBDD
$link = mysql_connect("localhost", "root");
mysql_select_db("baseDATOS", $link);
//Array de clients x escriptura intuitiva
$arClients = array(); //Creo l'array
$it = 0; //Iterador
$cercaClients = mysql_query("SELECT * FROM llista");
//Provarem amb JavaScripts...
echo "<script language=javascript> ";
echo "var miArray = new Array(); ";
while($cerca=mysql_fetch_array($cercaClients)){
$chupi = $cerca['titol'];
$nomcomercial = $cerca['interpret'];
$nif = $cerca['companyia'];
$arClients[$it] = $chupi;
echo "miArray[".$it."] = new Array(3); ";
echo "miArray[".$it."][0] = '".$chupi."'; ";
echo "miArray[".$it."][1] = '".$nomcomercial."'; ";
echo "miArray[".$it."][2] = '".$nif."'; ";
$it++;
}
echo "</script>";
?>
Código:
En fin, que si alguien tiene algo que me pueda servir sería fantástico, y si no pues ahí queda el código para quien le pueda sacar algún provecho <!-- ESCRIPTURA INTUITIVA -->
<script language="JavaScript">
function intuitif() {
var x;
x = contracte2.rsocial.value;
//window.alert('x: ' + x);
if(x == ""){
contracte2.nomcom.value = "";
contracte2.nif.value = "";
contracte2.dsocial.value = "";
var it = 0;
for(it=0;it<=miArray.length;it++){
contracte2.posar.options[it] = null;
}
}
xm = x.toLowerCase();
contracte2.posar.disabled = false;
//variable = new Option("","","","");
//contracte2.posar.options[0] = variable;
var it = 1;
for(it=1;it<=miArray.length;it++){
//window.alert('it: ' + it);
y = miArray[it-1][0];
yK = String(y);
yP = yK.toLowerCase();
yKiero = yP.substring(0,x.length);
window.alert('yKiero: ' + yKiero);
if(x == yKiero){
var it = 0;
for(it=0;it<=miArray.length;it++){
contracte2.posar.options[it] = null;
}
variable = new Option(yK,yK,"","")
window.alert('variable: ');
contracte2.posar.options[it] = variable;
} else{
contracte2.posar.options[it] = null;
contracte2.nomcom.value = "";
contracte2.nif.value = "";
contracte2.dsocial.value = "";
}
}
}
function posaTot(){
minteressa = contracte2.posar.options[contracte2.posar.selectedIndex].value;
for(m=0;m<miArray.length;m++){
if(miArray[m][0] == minteressa){
aketa = m;
}
}
contracte2.nomcom.value = miArray[aketa][0];
contracte2.nif.value = miArray[aketa][1];
contracte2.dsocial.value = miArray[aketa][2];
}
</script>

