Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

372
Vistas
El mensaje de error de Javascript muestra que str.replace no es una función

Tengo un problema al devolver una cadena en la que el valor "queso" se reemplaza por "mermelada". Mi escenario comienza primero con los valores predeterminados de queso y champiñones que se seleccionarán. Si quiero seleccionar queso, tomates, champiñones, registro de la consola, necesito que el valor "queso" se reemplace con "mermelada", y el resultado del registro de la consola debe ser "mermelada, tomates, champiñones". Cuando hice clic en el botón de verificación de valor, el mensaje de error me muestra que str.replace is not a function en el registro de la consola.

A continuación se muestra mi codificación de muestra:

 $('#select_multiple').multiselect() var data="cheese,mushrooms"; var dataarray=data.split(","); $("#select_multiple").val(dataarray); $("#select_multiple").multiselect("refresh"); function check_value(){ var str = $('#select_multiple').val(); var abc = str.replace("cheese", "jam"); console.log(abc); }
 <!DOCTYPE html> <html> <head> <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/css/bootstrap-multiselect.css" /> </head> <body> <select id="select_multiple" multiple="multiple"> <option value="cheese">Cheese</option> <option value="tomatoes">Tomatoes</option> <option value="mozarella">Mozzarella</option> <option value="mushrooms">Mushrooms</option> <option value="pepperoni">Pepperoni</option> <option value="onions">Onions</option> </select> <button onclick="check_value();">Check Value</button> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/js/bootstrap-multiselect.min.js"></script> </body> </html>

Intenté alertar a la variable str para verificar los valores, obtuvo valores. Simplemente no puede consolar registrar los valores. Espero que alguien pueda orientarme sobre cómo solucionar este problema. Gracias.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Eso es porque está obteniendo str como una matriz. Debe usar for loop para reemplazar la cadena que desea. ver ejemplo a continuación

 $('#select_multiple').multiselect() var data="cheese,mushrooms"; var dataarray=data.split(","); $("#select_multiple").val(dataarray); $("#select_multiple").multiselect("refresh"); function check_value(){ var str = $('#select_multiple').val(); for(var i=0; i < str.length; i++) { str[i] = str[i].replace('cheese', 'jam'); } console.log(str) }
 <!DOCTYPE html> <html> <head> <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/css/bootstrap-multiselect.css" /> </head> <body> <select id="select_multiple" multiple="multiple"> <option value="cheese">Cheese</option> <option value="tomatoes">Tomatoes</option> <option value="mozarella">Mozzarella</option> <option value="mushrooms">Mushrooms</option> <option value="pepperoni">Pepperoni</option> <option value="onions">Onions</option> </select> <button onclick="check_value();">Check Value</button> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/js/bootstrap-multiselect.min.js"></script> </body> </html>

about 4 years ago · Juan Pablo Isaza Denunciar

0

eso es porque str es una matriz. es por eso que todavía tienes que iterar la variable...

 $('#select_multiple').multiselect() var data="cheese,mushrooms"; var dataarray=data.split(","); $("#select_multiple").val(dataarray); $("#select_multiple").multiselect("refresh"); function check_value(){ var str = $('#select_multiple').val(); const abc = [] str.forEach((s) => { abc.push(s.replace("cheese", "jam")); }) console.log(abc); }
 <!DOCTYPE html> <html> <head> <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/css/bootstrap-multiselect.css" /> </head> <body> <select id="select_multiple" multiple="multiple"> <option value="cheese">Cheese</option> <option value="tomatoes">Tomatoes</option> <option value="mozarella">Mozzarella</option> <option value="mushrooms">Mushrooms</option> <option value="pepperoni">Pepperoni</option> <option value="onions">Onions</option> </select> <button onclick="check_value();">Check Value</button> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/js/bootstrap-multiselect.min.js"></script> </body> </html>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda