Podrías comentar el código que de cómo estás llamando al evento y el evento en si?... para verlo adecuadamanete el caso.
Saludos.
- 2017-07-19 07:58:50
-
Me gusta(0)
Por: Danny Moreno | Publicado el: 2017-07-18 22:56:10 | Pregunta abierta |
Hola Otra Vez!
tengo este error cuando quiero seleccionar un iten de un Select.
Agradeceria su ayuda!
Podrías comentar el código que de cómo estás llamando al evento y el evento en si?... para verlo adecuadamanete el caso.
Saludos.
Aqui estan los codigos en html y js
<div class="container-fluid">
<label class="col-xs-3 control-label" >Origen</label>
<div class="col-xs-5 selectContainer">
<select class="form-control" onchange="ShowSelected();" id="lista1" name="lista1">
<option value="">Seleccione</option>
<option value="11">Leon</option>
<option value="12">El Sauce</option>
</select>
</div>
</div>
<div class="container-fluid">
<label class="col-xs-3 control-label" >Destino</label>
<div class="col-xs-5 selectContainer">
<select class="form-control" onchange="ShowSelected();" id="lista2" name="lista2">
<option value="">Selecione</option>
<option value="21">Matagalpa</option>
<option value="22">Managua</option>
<option value="23">El Guasaule</option>
</select>
</div>
</div>
<br>
<div class="container-fluid">
<button type="button" id="listas" class="btn btn-success btn-small">Cargar</button>
</div>
document.getElementById('listas').addEventListener('click',this.select, false);
select: function () {
var o = document.getElementById('lista1').value;
var d = document.getElementById('lista2').value;
if (o==11 && d== 21)
{
alert("Tipo de Transporte Expreso\n"+ "Origen Leon\n"+ "Destino Matagalpa\n"+"Precio C$ 82");
}
else if(o==11 && d== 22)
{
alert("Tipo de Transporte Expreso\n"+ "Origen Leon\n"+ "Destino Managua\n"+"Precio C$ 52");
}
else if(o==11 && d==23 )
{
alert("Tipo de Transporte Expreso\n"+ "Origen Leon\n"+"Destino El Guasable\n"+"Precio C$ 60");
}
else if(o==12 && d==22 )
{
alert("Tipo de Transporte Expreso\n"+ "Origen El Sauce\n"+"Destino Managua\n"+"Precio C$ 79");
}
else
{
alert("No hay Expreso");
}
}
Danny, el error que tienes lo hago mención justo en el video de manejo de eventos... ahí digo claramente que los evento no se pueden enlazar directamente con los controles de HTML... es cierto que manejamos JavaScript y quisieramos que funciona tal cual en la web... pero siempre al ser otro entorno, en este caso "Apache cordova" tendrá ciertas variaciones.
Te recomiendo revisar el siguiente video y si ya lo viste, revísalo nuevamente a detalle http://codideep.com/blogpost/verporcodigoblogpost/201703080000001; observa cuidadosamente como se implementan los eventos y hazlo de la misma manera; ya que según veo, lo estás trabajando con los manejadores de eventos de JavaScript de forma directa; lo que no funcionará en este caso.
Saludos.
Es que la segunda parte de el codigo la tengo en el index.js justo a como dice tu video y no me da
document.getElementById('listas').addEventListener('click',this.select, false);
select: function () {
var o = document.getElementById('lista1').value;
var d = document.getElementById('lista2').value;
if (o==11 && d== 21)
{
alert("Tipo de Transporte Expreso\n"+ "Origen Leon\n"+ "Destino Matagalpa\n"+"Precio C$ 82");
}
else if(o==11 && d== 22)
{
alert("Tipo de Transporte Expreso\n"+ "Origen Leon\n"+ "Destino Managua\n"+"Precio C$ 52");
}
else if(o==11 && d==23 )
{
alert("Tipo de Transporte Expreso\n"+ "Origen Leon\n"+"Destino El Guasable\n"+"Precio C$ 60");
}
else if(o==12 && d==22 )
{
alert("Tipo de Transporte Expreso\n"+ "Origen El Sauce\n"+"Destino Managua\n"+"Precio C$ 79");
}
else
{
alert("No hay Expreso");
}
}
todo esto esta en el index.js
Yo veo que ahí estás agregando un evento "addEventListener" de forma directa y justo ese tipo de eventos están bloqueados.
No veo que estés agregando un "receivedEvent". Nuevamente te recomiendo revisar pausadamente el video.
Saludos.
No, no está igual, la función no lo puedes declarar en el mismo archivo... eso rompe las políticas de seguridad en apache cordova... insisto, vuelve a revisar el video... :D!
Me equivoque de codigo disculpa!! :D
mira este
var app = {
// Application Constructor
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
// deviceready Event Handler
//
// Bind any cordova events here. Common events are:
// 'pause', 'resume', etc.
onDeviceReady: function() {
this.receivedEvent('deviceready');
},
// Update DOM on a Received Event
receivedEvent: function(id) {
// document.getElementById('btncargar').addEventListener('click',this.btncargar, this.selTipo, false);
// document.getElementById('btnOrigen').addEventListener('click', this.selTipo, false);
document.getElementById('btnpasar').addEventListener('click',this.pasar, false);
document.getElementById('btntablas').addEventListener('click',this.btntablas, false);
document.getElementById('acordion1').addEventListener('click',this.acordion, false);
document.getElementById('acordion2').addEventListener('click',this.acordion, false);
document.getElementById('acordion3').addEventListener('click',this.acordion, false);
document.getElementById('btnlistas').addEventListener('click',this.select, false);
},
dr: function()
{
$('dropdown-toggle').dropdown();
},
acordion: function()
{
$('collapse').collapse();
},
pasar: function()
{
document.location.href="page1.html";
},
btntablas: function()
{
document.location.href="tablas.html";
},
select: function() {
var o = document.getElementById('lista1').value;
var d = document.getElementById('lista2').value;
if (o==11 && d== 21)
{
alert("Tipo de Transporte Expreso\n"+ "Origen Leon\n"+ "Destino Matagalpa\n"+"Precio C$ 82");
}
else if(o==11 && d== 22)
{
alert("Tipo de Transporte Expreso\n"+ "Origen Leon\n"+ "Destino Managua\n"+"Precio C$ 52");
}
else if(o==11 && d==23 )
{
alert("Tipo de Transporte Expreso\n"+ "Origen Leon\n"+"Destino El Guasable\n"+"Precio C$ 60");
}
else if(o==12 && d==22 )
{
alert("Tipo de Transporte Expreso\n"+ "Origen El Sauce\n"+"Destino Managua\n"+"Precio C$ 79");
}
else
{
alert("No hay Expreso");
}
}
};
app.initialize();
Te recomiendo que vayas probando de a poco, empieza con un evento más simple y ve intgrando más eventos de a poco... ya que ese archivo está aparentemente bien, a menos que en la actvidad principal "vista HTML" estés haciendo algo más que no deberías... pero como te digo... trata de integrar eventos de a poco y no te avientes por todo de golpe.. si no paso por paso, evento por evento...
SI al Parecer todo esta bien!
Bueno gracias!
Saludos!