Estoy tratando de recorrer una serie de objetos almacenados en el atributo value-media de mi button .
Puedo obtener datos de value-media y mostrarlos, pero no puedo recorrer estos datos; los trata como una cadena larga (supongo) y muestra "indefinido"
var medias = [button.getAttribute('value-media')] console.log(medias) $.each(medias, function(index, value) { alert(value.id); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <button type="submit" id="editUserBtn" class="btn btn-link" data-bs-toggle="modal" data-bs-target="#editUser" value-userid="34" value-username="CUSTOMER1_TEST2" value-media="[{'id': '50', 'name': 'CUSTOMER1_Windows Notification', 'sendto': ['test@test.com', 'test2@test.com']}, {'id': '51', 'name': 'CUSTOMER1_ALL', 'sendto': ['test@test.com', 'test2@test.com']}]"> <img src="/static/images/settings_black_24dp.svg" title="Edit user"/> </button>¿Me podrían ayudar a hacerlo funcionar? Necesito revisar estos datos y para cada diccionario en la lista tomar ID :(
¡Gracias! Está funcionando ahora. Aquí está la solución:
var medias = $(button).data('media') var mediasJSON = JSON.parse(medias.replace(/\'/g, "\"")) $.each(mediasJSON, function(index, value) { alert(value.name + value.id) });