Foros del Web » Programando para Internet » Javascript »

que pasa con el replace?

Estas en el tema de que pasa con el replace? en el foro de Javascript en Foros del Web. hola, tengo esta funcion: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original function formatEx ( value , row , index ) {     newval = ...
  #1 (permalink)  
Antiguo 26/04/2013, 07:51
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
que pasa con el replace?

hola, tengo esta funcion:

Código Javascript:
Ver original
  1. function formatEx(value,row,index){
  2.     newval = value.replace(/,/g, '');
  3.    
  4.     if(newval>700 && newval<1400){
  5.         if(!row.isFooter) return 'background-color:#FFEE00; color:#DF7401; font-weight:bold;';
  6.     }
  7.     if(newval>1400){
  8.         if(!row.isFooter) return 'background-color:#F8E0E0; color:red; font-weight:bold;';
  9.     }
  10. }

creo que es de lo mas simple, peroo

me dice que el objeto no acepta la propiedad o el metodo replace

que pasa?

value trae por ejemplo 1,500 necesito quitarle la(s) coma(s) para poder comparar 1500>1400

por que si comparo 1,500 > 1400 no obtengo nada

gracias
  #2 (permalink)  
Antiguo 26/04/2013, 08:23
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: que pasa con el replace?

El problema no está con el replace, habría que ver el código completo, incluída la llamada a la función y paso de parámetros.

mirá este ejemplo

Código:
<!DOCTYPE html>
<html lang="es-ar">
<head>
<meta charset="utf-8" />
<title>Replace</title>
<script type="text/javascript">
//<![CDATA[
var value = "1,500";
var value2 = "2,500";
var newval = value.replace(/,/g, '');
var newval2 = value2.replace(/,/g, '');
alert(newval + newval2); // operación incorrecta, hasta ahora no dejan de ser strings
alert(parseInt(newval) + parseInt(newval2)); // operación correcta  
//]]>
</script>
</head>
<body>
</body>
</html>
Además para evitar confusiones, si bien en este ejemplo fucniona igual, te recomiendo evitar utilizar palabras reservadas de js en los parámetros y variables
Código:
formatEx(valor,fila,indice){ // -- > SI
formatEx(value,row,index){ // --> NO
var valor = ... // SI
var value = ... // NO
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 26/04/2013, 08:27
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 3 meses
Puntos: 45
Respuesta: que pasa con el replace?

Buenas,

probablemente value no sea un string y por eso está fallando, tomando la coma como separador en lugar de como parte del patrón. En una prueba rápida poniendo value.toString().replace(/,/g, '') funciona correctamente aunque el argumento no sea un string.
__________________
tecnawebs.es Diseño web y programación - Modelado 3D.

google plus
  #4 (permalink)  
Antiguo 26/04/2013, 08:39
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: que pasa con el replace?

hola gracias por sus respuestas, creo que el problema es que cuando pido el replace aun no esta disponible el value, es que utilizo este datagrid

http://www.jeasyui.com/demo/main/ind...dir=ltr&pitem=

lo que intento es el ejemplo DataGrid Cell Style

y la consola de firefox me dice que value es indefinido :(
  #5 (permalink)  
Antiguo 26/04/2013, 08:55
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: que pasa con el replace?

Habría que comenzar por indicar que se usa un plugin de jQ, en particular no lo conozco en profundidad, pero ese ejemplo me genera una duda
Código:
    <script type="text/javascript">  
        function cellStyler(value,row,index){  
            if (value < 30){  
                return 'background-color:#ffee00;color:red;';  
            }  
        }  
    </script>
dónde llama la función esa?

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 26/04/2013, 09:01
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: que pasa con el replace?

Si lo siento pense que era como error de sintaxis o lo que decia tecna,

el plugin es muy bueno pero tiene sus complicaciones, se supone que devuelves los datos de php por json y que el plugin los pinta al poner solo:

<th data-options="field:'listprice',width:80,align:'right',styler:cellStyler">List Price</th>

que el field coincida con el nombre del campo y asi lo pinta.

la funcion la manda a llamar con style:cellStyler dentro de las data-options de la fila correspondiente.

Etiquetas: funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:01.