JavaScript - Problemas con object java script

   
Vista:

Problemas con object java script

Publicado por juanluep (4 intervenciones) el 24/05/2013 13:03:13
Hola
necesito cambie le contenido de un objeto y no soy capaz de hacerlo en condiciones.
os cuento
Tengo un array de Objetos y necesito cambiar una propiedad de uno de los objetos y no soy capaz. la solución que he encontrado es eliminar el objeto y crearlo de nuevo cambiando el valor de la propiedad.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var servicio = listaServicios[i];
                listaServicios[i] = null;
                listaServicios[i] = {
                    IdServicio: servicio.IdServicio,
                    Servicio: servicio.Servicio,
                    Tipo: servicio.Tipo,
                    Direccion: servicio.Direccion,
                    Poblacion: servicio.Poblacion,
                    Provincia: servicio.Provincia,
                    Pais: servicio.Pais,
                    CP: servicio.CP,
                    NumeroClave: servicio.NumeroClave,
                    Nombre: servicio.Nombre,
                    Apellidos: servicio.Apellidos,
                    Contrato: servicio.Contrato,
                    Orden: ordenServicios[a].Orden
                };


no tengo mucha experiencia en el uso de objeto pero tiene que haver alguna forma mas sencilla de hacer esto
¿Se os ocurre como?
¿me podeis dar una pista?
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

Problemas con object java script

Publicado por martin (45 intervenciones) el 26/05/2013 04:35:51
No entiendo por que destruís el listaServicios[i] y despues la seteas con una copia del mismo pero temporal.

hace:

listaServicios[i]. Orden = ordenServicios[a].Orden;

o algo asi.
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

Problemas con object java script

Publicado por Juanluep (4 intervenciones) el 27/05/2013 08:39:01
Si te fijas el único valor que cambia es el ultimo, no he encontrado otra forma de cambiar una propiedad concreta. he usado listaServicios[i].Orden = ordenServicios[a].Orden, pero no funciona no modifica el valor Int de esa propiedad
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

Problemas con object java script

Publicado por Jorge Luis (1 intervención) el 27/05/2013 23:25:34
Prueba listaServicios[i]['Orden'] = ordenServicios[a].Orden
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

Problemas con object java script

Publicado por juanlu (4 intervenciones) el 28/05/2013 08:35:55
Si eso es lo que probe desde el principio pero no funciona
no modifica el valor
la estructura del objeto es esta

listaServicios: Array[7]
0: Object
Apellidos: "XXXXX"
CP: "03100"
Contrato: "198811"
Direccion: "XXXX 9 CASA"
IdServicio: "129566"
Nombre: "XXX"
NumeroClave: "99427"
Orden: 0
Pais: "ESPAÑA"
Poblacion: "TORREVELLA/TORREVIEJA"
Provincia: "ALICANTE"
Servicio: "428653"
Tipo: "T"
id: 0
__proto__: Object
1: Object
2: Object
3: Object
4: Object
5: Object
6: Object
length: 7
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

Problemas con object java script

Publicado por martin (45 intervenciones) el 28/05/2013 16:58:35
Podes postear la declaracion del objecto?

saludos.
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

Problemas con object java script

Publicado por juanlu (4 intervenciones) el 29/05/2013 08:26:39
es un objeto Json obtenido de un servicio en php creado por mi:

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
function cargaServicios(devolucion) {
    mensajeDebug('Inicia la carga de servicios');
    hayCobertura(false, function(coberturasi) {
        if (coberturasi) {
            var url = servidor + "operabd.php?accion=ServiciosPendientes&Pin=" + pin + "&Desarrollo=" + desarrollo + "&callback=?";
            mensajeDebug("Cargar Servicios: " + url);
            $.getJSON(url, function(data) {
                mensajeDebug("Cargar Servicios Estado: " + data.Estado);
                if (data.Estado === 'Ok') {
                    listaServicios = data.Datos;
                    posicionaClientes(function() {
                        rellenarServiciosLocales(listaServicios);
                        devolucion(data.Estado);
                    });
                } else {
                    alert(data.Error);
                    devolucion(data.Error);
                }
            })
                    .error(function() {
                alert('error en la obtención de servicios url: ' + url);
                envioError('error en la obtención de servicios url: ' + url);
                mensajeDebug('error en la obtención de servicios url: ' + url);
                devolucion('error en la obtención de servicios url: ' + url);
            });
        } else {
            cargaServiciosLocales(function(resultado) {
                devolucion(resultado);
            });
 
        }
    });
}
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