
Problemas con JQuery y multiples select
Publicado por Miguel Angel (3 intervenciones) el 02/03/2017 20:24:24
Hola tengo un problema para seleccionar el valor de una lista de select.Tengo una tabla donde cada elemento tiene un campo select(ademas de otras cosas)..con dos valores si o no..el caso es que hago una funcion con javascript para ir recorriendo la tabla e ir guardando los valores de cada fila para despues salvarlos en una BD..cuando trato de cojer los valores de los select solo me coje el primero perteneciente a la primera fila y a los otros me les pone el mismo valor del primero..adjunto el codigo para mejor comprension...muchas gracias por las respuestas..
mi plantilla HTML..
mi funcion javascript..
mi plantilla HTML..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<div class="table-responsive">
<table class="table" id = "coments_host">
<thead>
<tr style="text-align: center;">
<th>Id</th>
<th>Hostal</th>
<th> Valoracion </th>
<th> Comentario</th>
<th>User</th>
<th>Fecha</th>
<th>Publicado</th>
</tr>
</thead>
<tbody>
{% for c_hostal in comentarios_hostales %}
<tr>
<td>{{ c_hostal.id }}</td>
<td>{{ c_hostal.hostal.nombre }}</td>
<td> {{ render(controller('AppBundle:Valoracion:rating',{ 'rating': c_hostal.valoracion } )) }} </td>
<td class="mitooltip">
<a href="#" class="tooltip" data-toggle="tooltip"
data-placement="left" title="{{ c_hostal.comentario }}">
{{ c_hostal.comentario |truncate(50, true) }}
</a>
</td>
<td>{{ c_hostal.user }}</td>
<td>{{ c_hostal.created |date('d m y')}}</td>
<td>
<select name="publicado" id = "publicado">
<option value="Si">Si</option>
<option value="No">No</option>
</select>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<div>
<button type="button" class="btn btn-default" id = "btn_save" onclick= "showData()">Save Changes</button>
</div>
mi funcion javascript..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function showData() {
$("#coments_host tbody tr").each(function (index)
{
var campo1, campo2, campo3, campo4, campo5, campo6,campo7;
$(this).children("td").each(function (index2)
{
switch (index2)
{
case 0: campo1 = $(this).text();
break;
case 1: campo2 = $(this).text();
break;
case 2: campo3 = $(this).text();
break;
case 3: campo4 = $(this).text();
break;
case 4: campo5 = $(this).text();
break;
case 5: campo6 = $(this).text();
break;
case 6:
campo7 = $('select[name=publicado]').val();
break;
}
})
alert(campo1 + ' - ' + campo2 + ' - ' + campo3 + campo4 + ' - ' + campo5 + ' - ' + campo6 + ' - ' + campo7);
})
}
Valora esta pregunta


0