come chiamare javascript funzione più volte?

sto usando una API da OpenWeatherMap sul mio sito web per mostrare le condizioni meteo di solo alcuni luoghi specifici, del tutto in una pagina. ecco il codice:

<script src="https://code.jquery.com/jquery-3.0.0.js"></script> <body> <input type="hidden" name="name" value="dehradun" id="cityName"> <button onclick="getWeather()">Get weather of Dehradun</button> <div class="weatherResponse"></div> <br><br> <input type="hidden" name="name" value="pune" id="cityName"> <button onclick="getWeather()">Get weather of Pune</button> ' <div class="weatherResponse"></div> <br><br> <script> function getWeather() { $('.weatherResponse').html(''); var cityName = $('#cityName').val(); var apiCall = 'http://api.openweathermap.org/data/2.5/weather?q=' + cityName + '&mode=json&units=metric&appid=d3d913fca612366a61837ea39a622480'; $.getJSON(apiCall, weatherCallback); function weatherCallback(weatherData) { var cityName = weatherData.name;; var country = weatherData.sys.country; var description = weatherData.weather[0].description; var temp = weatherData.main.temp; $('.weatherResponse').append("The Weather in " + cityName + " " + country + " is currently " + description + " with temperature: " + temp); } } </script> </body>

supponga se voglio mostrare la condizione di tempo di due posti usando la stessa funzione di Javascript allora il relativo che mostra lo stesso risultato per entrambi i posti (del posto (Dehradun) accennato in primo luogo nel codice).

aiutami a risolvere questo problema.

EN From: How to call javascript function multiple times?

More similar articles:

6 Comments

  1. ho approssimativamente aggiunto il codice di lavoro qui sotto, quando si fa clic su un pulsante che mostrerà se il rapporto di quella città in entrambi i testi, Prova cliccando sia sul pulsante e dare un’occhiata:

    <script src="https://code.jquery.com/jquery-3.0.0.js"></script>

    <body>
    <input type="hidden" name="name" value="dehradun" id="cityName2">
    <button onclick="getWeather('dehradun')">Get weather of Dehradun</button>

    <div class="weatherResponse"></div>
    <br><br>

    <input type="hidden" name="name" value="pune" id="cityName1">
    <button onclick="getWeather('pune')">Get weather of Pune</button>

    <br><br>
    <div class="weatherResponse"></div>
    <script>
    function getWeather(cityName){
    $('.weatherResponse').html('');

    var apiCall= 'http://api.openweathermap.org/data/2.5/weather?q=' + cityName + '&mode=json&units=metric&appid=d3d913fca612366a61837ea39a622480';
    $.getJSON(apiCall,weatherCallback);

    function weatherCallback(weatherData){
    var cityName= weatherData.name;;
    var country= weatherData.sys.country;
    var description= weatherData.weather[0].description;
    var temp= weatherData.main.temp;

    $('.weatherResponse').append("The Weather in " + cityName + " " + country + " is currently " + description + " with temperature: " + temp);
    }
    }
    </script>
    </body>

    1. sì ora la sua mostra il risultato di entrambe le città, grazie mille. ma sì, mostra il risultato di uno in entrambi i testi, per favore aiutami a risolvere questo problema. penso che sia qualcosa a che fare con il

      che deve essere un cambiamento per entrambi.
  2. ho aggiunto un codice di lavoro passando valore alla funzione e l’aggiornamento dei vostri ID, pulirà il codice in seguito.

  3. è possibile Passo sia il nome della città e div (risultati di visualizzazione) come parametro funzione

    function getWeather(cityName, className)
    {

    $('.'+className+'').html('');

    var apiCall= 'http://api.openweathermap.org/data/2.5/weather?q=' + cityName + '&mode=json&units=metric&appid=d3d913fca612366a61837ea39a622480';
    $.getJSON(apiCall,weatherCallback);

    function weatherCallback(weatherData)
    {
    var cityName= weatherData.name;;
    var country= weatherData.sys.country;
    var description= weatherData.weather[0].description;
    var temp= weatherData.main.temp;

    $('.'+className+'').append("The Weather in " + cityName + " " + country + " is currently " + description + " with temperature: " + temp);
    }
    }
    <script src="https://code.jquery.com/jquery-3.0.0.js"></script>

    <body>
    <button onclick="getWeather('dehradun','wr1')">Get weather of Dehradun</button>
    <br><br>
    <div class="wr1"></div>
    <br><br>
    <button onclick="getWeather('pune','wr2')">Get weather of Pune</button>
    <br><br>
    <div class="wr2"></div>
    <br>
    </body>

Leave a Reply

Your email address will not be published. Required fields are marked *