Tengo un campo de entrada y quiero asignarle un valor obtenido dinámicamente de DB. Usaré ese valor más adelante en un script. Aquí está mi código a continuación
<div data-ng-model="DashboardCounterItems"> <div data-ng-repeat="cItem in DashboardCounterItems"> <input type ="hidden" id ="myInput" value = {{cItem.dbMeetings.length}} /> </div> </div>Aquí {{cItem.dbMeetings.length}} se obtiene de la base de datos y se asigna a myInput. Además, cuando verifico el valor de esta entrada en alerta en el siguiente script, obtengo el mensaje {{cItem.dbMeetings.length}} en lugar del valor que contiene.
<script> var iLenthv = document.getElementById("myInput").value; alert(iLenthv); </script>Alguna ayuda como puedo hacerlo. O cualquier otra forma mejor. Realmente lo apreciaré.
Creo que su código JS se ejecutará antes de la recuperación de datos DB, ¿puede verificar el código JS dentro del método setTimeout () ?
<script> setTimeout(function() { var iLenthv = document.getElementById("myInput").getAttribute("value"); alert(iLenthv); }, 3000); </script>Use .getAttribute() para obtener el valor de un atributo html
function myFunction() { var iLenthv = document.getElementById("myInput").getAttribute("value"); alert(iLenthv); }Espero que sea útil
Así que tenemos que rastrear el valor real del lado del cliente, después de cargar el documento . ¿Adaptarías este fragmento de código y echarías un vistazo a la consola?
<div data-ng-model="DashboardCounterItems"> <div data-ng-repeat="cItem in DashboardCounterItems"> <input type="hidden" id="myInput" value={{cItem.dbMeetings.length}} /> </div> </div> <script> const test = () => { var iLenthv = document.getElementById("myInput").value; console.log("value:",iLenthv); }; window.onload = test; </script>