<select id = "tester" class = "tester"> ... <option value = "code_2">2</option> </select> <select id = "tester" class = "tester"> ... <option value = "code_2">2</option> </select> Si el valor de data es 2, estoy tratando de seleccionar cada tester en el que su valor de opción contenga 2 .
$('.tester').each(function() { $(this option:contains(data)).prop("selected", true); }) La selección de cada tester fue exitosa pero no pudo cambiar su valor de opción. ¿Cuál podría ser la razón?
html:
<select class="tester" multiple> <option value="">N/A</option> <option value="code_2">2</option> <option value="code_2">2</option> <option value="code_2">2</option> <option value="code_2">2</option> </select> <select class="tester" multiple> <option value="code_2">2</option> <option value="code_2">2</option> <option value="code_2">2</option> <option value="code_2">2</option> </select>Javascript con Jquery
var data = 2; $(document).ready(function(){ $('.tester').each(function() { $(this).children().each(function(i, element) { if($(element).text() == data){ $(element).prop("selected", true) } }); }) });NB: No utilice la misma identificación dos veces en la misma página. Para mostrar múltiples opciones seleccionadas. Use múltiples atributos en la etiqueta seleccionada
Puedes probar este código si quieres usar jQuery:
$('.tester').val('code_2').change();Dónde:
.tester - es select de selección
code_2 - es el valor de la option
Este código te permite no buscar la option por ti mismo
Consulte la documentación jQuery.val()