Hola!
Estoy intentando hacer lo siguiente:
Tengo un array en javascript con datos que obtengo de una tabla de mi respectiva base de datos.
A continuación tengo un texto en un textarea (lo ideal sería tenerlo fuera del textarea, pero si saco el texto del textarea no me funciona).
Quiero que al seleccionar alguna parte de texto, aparezca un alert que me indique si esa palabra ó palabras existen o no en el array. Pero no lo consigo.
Os pego el código.
Aquí cargo los datos de la BD en un array en php.
Código PHP:
include("./funciones/conexion.php");
conexion();
$sql=mysql_query("SELECT Nombre FROM islas ORDER BY islas DESC");
$i=mysql_num_rows($sql);
$c=1;
while($islas=mysql_fetch_array($sql))
{
$lista.="\"".$islas['Nombre']."\"";
if($c<$i)
{
$lista.=",";
}
$c++;
}
?>
A continuación, la función que lee los caracteres seleccionados, además declaro el array en Javascript con los datos del array en PHP.
Código:
<script type="text/javascript">
$(document).ready(function(){
$("#texto").select(function(){
var origen = document.getSelection();
$("#resultado").html("" + origen);
var lista = new Array(<?php echo $lista;?>);
});
});
</script>
El BODY del HTML:
Código HTML:
<form id="miformu">
<label for="texto">Selecciona parte del texto:</label><br/>
<textarea id="texto" rows="40" cols="100">AQUÍ IRÍA EL TEXTO EN EL CUAL BUSCARÍA LAS PALABRAS</textarea>
</form>
Esta parte del código lo tengo habilitado simplemente para comprobar que parte del texto estoy seleccionado:
Código HTML:
<span id="resultado"></span>
Antes de nada decir que de Javascript se poco, muy poco.
He intentado lo siguiente:
Código:
var lista = new Array(<?php echo $lista;?>);
for(i=0;i<lista.length;i++)
{
if(lista.toUpperCase()==origen.toUpperCase())
alert("EXISTE")
}
Pero no consigo nada, no sé si lo que quiero hacer se puede hacer de esta manera.
Un saludo y gracias.