JavaScript - location.reload o href

 
Vista:
Imágen de perfil de Noelia
Val: 10
Ha aumentado su posición en 26 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

location.reload o href

Publicado por Noelia (5 intervenciones) el 17/03/2019 20:08:40
Hola, mi problema es el siguiente, a ver si sé describirlo bien.
Tengo un select con varias opciones, quiero que al ser la opción primera la que se escoja, vuelva a recargar la web ya que esos datos se cogen con php desde su correspondiente controlador al modelo, en una estructura MVC.
El problema que tengo es que quiero que al recargar esté activo el tab que contiene el select, no el activo por defecto al llegar a la página.
No sé si me expliqué.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div class="row">
    <div class="col-lg-3 col-xs-12">
       <ul class="nav nav-tabs tabs-left">
            <li class="active">
                <a href="#mis-preguntas" data-toggle="tab">
                    <img src="<?=base_url()?>xxxxxxxx.png" class="img-responive item-tab-icon" /> <span>Mis Preguntas</span>
                </a>
            </li>
              <li>
                <a href="#comentarios" data-toggle="tab">
                    <img src="<?=base_url()?>xxxxxxxxx.png" class="img-responive item-tab-icon" /> <span>Comentarios</span>
                </a>
            </li>
        </ul>
    </div>
Al llegar a la pàgina está por defecto mis-preguntas, pero el select lo tengo en los comentarios, y quiero que al elegir la primera opción se recargue la página en ese punto, con ese tab activo.
El caso es que un href a la url/#comentarios no me vale, o bien no sé hacerlo, porque de esa manera no muestra lo que tiene inicialmente esa parte sin haber tocado el select, que es lo que busco, que se muestre como si llegara de nuevas...
Es un lío, no sé si me explico.. a ver si alguien me puede echar una mano.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

location.reload o href

Publicado por joel (895 intervenciones) el 17/03/2019 20:38:10
Hola Noelia, pero aquí no nos muestras ningún <select>

Nos puedes mostrar el select y como haces el refresco de la pagina?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Noelia
Val: 10
Ha aumentado su posición en 26 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

location.reload o href

Publicado por Noelia (5 intervenciones) el 17/03/2019 20:45:51
El select está en la cabecera de la página, no tiene nada de especial, creí que no era necesario
1
2
3
4
5
6
7
8
<select id="id_business" name="id_business" class="form-control corporative-selector"   onchange=alerta()>
    <option value="#">Selecciona tu establecimiento</option>
    <?php
    foreach($business as $item):
        echo '<option value="'.$item->id.'" data-address="'.$item->address.'">'.$item->name.'</option>';
    endforeach;
    ?>
</select>
Funciona lo que quiero hacer con todos los select que haya , sólo es que cuando vuelva al primero vuelva a refrescar esa parte, la cuestión no es cómo lo hago, sino cómo lo debo de hacer, porque esto no me lleva al tab comentarios activo, que es lo que quiero mostrar al refrescar.
1
2
3
//el refresco sería así, 
location.reload();
//pero al refrescar aparece activo el tab mis-preguntas y en este caso, quiero el otro
Espero haberme explicado mejor, con location.href poniendo #comentarios después de la url tampoco funciona
Gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

location.reload o href

Publicado por joel (895 intervenciones) el 18/03/2019 08:30:43
Hola Noelia, utilizando location.reload() no creo que puedas mantener la selección a no ser que antes de hacer el location.reload() guardes desde JavaScript en un array los valores del <select>

Una manera mas utilizada (descartando el AJAX), es enviar el formulario (submit) que contiene los <select>, de esta manera, en el php si tienes los valores, y puedes dejarlos fijados en el <select>

Luego desde el PHP...
1
2
3
4
5
6
foreach($business as $item):
    if($item==$_POST["id_business"])
        echo '<option value="'.$item->id.'" data-address="'.$item->address.'" selected>'.$item->name.'</option>';
    else
        echo '<option value="'.$item->id.'" data-address="'.$item->address.'">'.$item->name.'</option>';
endforeach;

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Noelia
Val: 10
Ha aumentado su posición en 26 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

location.reload o href

Publicado por Noelia (5 intervenciones) el 18/03/2019 12:12:53
Gracias, me da una idea, puede servirme perfectamente, y además no sabía hacerlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar