
13/01/2016, 18:04
|
| | Fecha de Ingreso: diciembre-2015
Mensajes: 45
Antigüedad: 9 años, 3 meses Puntos: 3 | |
Respuesta: Mostrar y ocultar campo de acuerdo a valor. Comento de nuevo porque el captcha no me deja editar.
Con el código que mencionas va generando los ids para cada fila?
No en el código que te explico viene como llamar una función, como ocultar y mostrar elementos, como usar JQuery, como llenar un input text y cambiar un select, todo esto sin necesidad de recargar.
es decir si se consulta 15 campos select te genera id[1], id[2]... etc.?
No el codigo que te coloque es para ocultar y mostrar elementos pero de igual forma los puedes crear y destruir con JQuery, pero en tu caso basta con mostrar y ocultar.
El select ya lo vas a tener creado con todos sus elementos solo lo vas a mostrar y ocultar.
Para no tener que ocultar y mostrar cada uno de tus elementos lo colocas dentro de una etiqueta div con un id, y es el que ocultaras o mostraras según tus condiciones.
Otra cosa por ende los campos que quieras que aparezcan despues los vas a tener por default con el estilo display:none para que no se vean.
El select lo puedes crear así:
<select style="display:none" name="marca" class="select" id="lst-marcas">
<option value="0">=Selecciona una marca=</option>
<option value="marca1">marca1</option>
<option value="marca2">marca2</option>
<option value="marca3">marca3</option>
<option value="marca4">marca4</option>
<option value="marca5">marca5</option>
<option value="marca6">marca6</option>
<option value="marca7">marca7</option>
<option value="marca8">marca8</option>
</select>
O así en este caso:
<select id="midiv">
<script>
var i=0
for (i=0;i<=10;i++){
document.write("<option id='"+i+"'>opcion" + i)
}
</script>
Aquí lo hice con Javascript igual lo puedes hacer con php solo cambias document.write por echo y lo concatenas, abres y cierras en su respectiva forma.
Te dejo un ejemplo de como ocultar y mostrar, disculpa por reutilizarlo pero no me da tiempo hoy de hacerte un ejemplo. Este codigo te arroja otro combobox
al seleccionar una opcion del primer combobox.
<script type="text/javascript" src="jquery.js"></script>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#status").change(function () {
$("#status option:selected").each(function () {
seleccion=$(this).val();
alert(seleccion);
if (seleccion=="auto1") {
$("#lst-marcas").css("display", "block");
}
else{
$("#lst-marcas").css("display", "none");
}
$.post("autocompletar.php", { seleccion: seleccion }, function(data){
$("#formularios").html(data);
});
});
})
});
$(document).ready(function(){
$("#lst-marcas").change(function () {
$("#lst-marcas option:selected").each(function () {
marca=$(this).val();
alert("marca");
$.post("autocompletar.php", { marca: marca }, function(data){
$("#formularios").html(data);
});
});
})
});
</script>
<html>
<body>
<select name='categoria' class='select' id='status'>
<option value='0'selected>=Selecciona una categoría=</option>
<option class='selbloq' disabled='disabled'>-Abarrotes-</option>
<option value='abarrotes cat1'>abarrotes cat1</option>
<option value='abarrotes cat2'>abarrotes cat2</option>
<option class='selbloq' disabled='disabled'>-Herramientas-</option>
<option value='herramientas cat1'>herramientas cat1</option>
<option value='herramientas cat2'>herramientas cat2</option>
<option class='selbloq' disabled='disabled'>-autos/transportes-</option>
<option value='auto1'>autos</option>
<option value='auto2'>motos</option>
<option value='auto3'>cuatriciclos</option>
</select>
<select style="display:none" name="marca" class="select" id="lst-marcas">
<option value="0">=Selecciona una marca=</option>
<option value="marca1">marca1</option>
<option value="marca2">marca2</option>
<option value="marca3">marca3</option>
<option value="marca4">marca4</option>
<option value="marca5">marca5</option>
<option value="marca6">marca6</option>
<option value="marca7">marca7</option>
<option value="marca8">marca8</option>
</select>
<br>
<br>
<div id='formularios'></div>
En este blog puedes encontrar información más detallada acerca de ocultar y mostrar elementos: http://www.anerbarrena.com/jquery-show-hide-ocultar-divs-ids-2360/
Es horrible el captcha de esta pagina, Saludos!!
Con el código que mencionas va generando los ids para cada fila?
No en el código que te explico viene como llamar una función, como ocultar y mostrar elementos, como usar JQuery, como llenar un input text y cambiar un select, todo esto sin necesidad de recargar.
es decir si se consulta 15 campos select te genera id[1], id[2]... etc.?
No el codigo que te coloque es para ocultar y mostrar elementos pero de igual forma los puedes crear y destruir con JQuery, pero en tu caso basta con mostrar y ocultar.
El select ya lo vas a tener creado con todos sus elementos solo lo vas a mostrar y ocultar.
Para no tener que ocultar y mostrar cada uno de tus elementos lo colocas dentro de una etiqueta div con un id, y es el que ocultaras o mostraras según tus condiciones.
Otra cosa por ende los campos que quieras que aparezcan despues los vas a tener por default con el estilo display:none para que no se vean.
El select lo puedes crear así:
<select style="display:none" name="marca" class="select" id="lst-marcas">
<option value="0">=Selecciona una marca=</option>
<option value="marca1">marca1</option>
<option value="marca2">marca2</option>
<option value="marca3">marca3</option>
<option value="marca4">marca4</option>
<option value="marca5">marca5</option>
<option value="marca6">marca6</option>
<option value="marca7">marca7</option>
<option value="marca8">marca8</option>
</select>
O así en este caso:
<select id="midiv">
<script>
var i=0
for (i=0;i<=10;i++){
document.write("<option id='"+i+"'>opcion" + i)
}
</script>
Aquí lo hice con Javascript igual lo puedes hacer con php solo cambias document.write por echo y lo concatenas, abres y cierras en su respectiva forma.
Te dejo un ejemplo de como ocultar y mostrar, disculpa por reutilizarlo pero no me da tiempo hoy de hacerte un ejemplo. Este codigo te arroja otro combobox
al seleccionar una opcion del primer combobox.
<script type="text/javascript" src="jquery.js"></script>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#status").change(function () {
$("#status option:selected").each(function () {
seleccion=$(this).val();
alert(seleccion);
if (seleccion=="auto1") {
$("#lst-marcas").css("display", "block");
}
else{
$("#lst-marcas").css("display", "none");
}
$.post("autocompletar.php", { seleccion: seleccion }, function(data){
$("#formularios").html(data);
});
});
})
});
$(document).ready(function(){
$("#lst-marcas").change(function () {
$("#lst-marcas option:selected").each(function () {
marca=$(this).val();
alert("marca");
$.post("autocompletar.php", { marca: marca }, function(data){
$("#formularios").html(data);
});
});
})
});
</script>
<html>
<body>
<select name='categoria' class='select' id='status'>
<option value='0'selected>=Selecciona una categoría=</option>
<option class='selbloq' disabled='disabled'>-Abarrotes-</option>
<option value='abarrotes cat1'>abarrotes cat1</option>
<option value='abarrotes cat2'>abarrotes cat2</option>
<option class='selbloq' disabled='disabled'>-Herramientas-</option>
<option value='herramientas cat1'>herramientas cat1</option>
<option value='herramientas cat2'>herramientas cat2</option>
<option class='selbloq' disabled='disabled'>-autos/transportes-</option>
<option value='auto1'>autos</option>
<option value='auto2'>motos</option>
<option value='auto3'>cuatriciclos</option>
</select>
<select style="display:none" name="marca" class="select" id="lst-marcas">
<option value="0">=Selecciona una marca=</option>
<option value="marca1">marca1</option>
<option value="marca2">marca2</option>
<option value="marca3">marca3</option>
<option value="marca4">marca4</option>
<option value="marca5">marca5</option>
<option value="marca6">marca6</option>
<option value="marca7">marca7</option>
<option value="marca8">marca8</option>
</select>
<br>
<br>
<div id='formularios'></div>
En este blog puedes encontrar información más detallada acerca de ocultar y mostrar elementos: http://www.anerbarrena.com/jquery-show-hide-ocultar-divs-ids-2360/
El captcha esta horrible Saludos!! |