2015-09-15 216 views
1

我試圖在按下按鈕時將「單元」的值從「c」切換到「f」,但我無法使其工作。我花了很多時間查看備用示例,但很想知道爲什麼我的解決方案無法從中學習。 我設法切換按鈕的值,但是然後找不到實際使用loadweather函數中的button.value的方法。只是使用單位:button.value,沒有工作。 你有什麼想法可能是錯的?單擊按鈕更改變量的值

我的JS是:

var temp = 'c'; 
function change() { 
if (temp == 'f') {temp = 'c';} 
else if (temp == 'c') {temp = 'f';} 
} 
$('.btn').on('click', function() { change(); }) 

function loadWeather(location, woeid) { 
$.simpleWeather({ 
location: location, 
woeid: woeid, 
unit: temp, 
success: function(weather) { 
    html = '<h2>' + weather.temp + '&deg;' + weather.units.temp + '</h2>'; 
    html += '<ul><li>' + weather.city + ', ' + weather.region + ', ' + weather.country + '</li>'; 
    html += '<li class="currently">' + weather.currently + '</li>'; 
    $("#weather").html(html); 

而且按鈕的HTML + CSS是這樣的:<button class = "btn"> Toggle F/C </button>

.btn { 
position: fixed; 
top: 20px; 
background: white; 
display: block; 
padding: 1px 1px 1px 1px; 
} 
+0

可以創建一個類似的Demo [HERE](http://jsfiddle.net/)? – divy3993

+0

也可以在$('。btn')後嘗試使用分號(;);('click',function(){change();}); – divy3993

+0

當你調用'loadWeather'? –

回答

0

沒有看到您的問題的一個完整的娛樂,我不能完全肯定這個答案是完整的。不過,我有一個感覺,主要的問題是你在改變變量後不記得loadWeather()

演示:http://jsfiddle.net/hopkins_matt/aaov1scu/

JS:

var temp = 'c'; 

function change() { 
    if (temp == 'f') { 
     temp = 'c'; 
    } else if (temp == 'c') { 
     temp = 'f'; 
    } 
    loadWeather('Akron, OH', ''); 
} 
$('.btn').on('click', function() { 
    change(); 
}); 

function loadWeather(location, woeid) { 
    $.simpleWeather({ 
     location: location, 
     woeid: woeid, 
     unit: temp, 
     success: function (weather) { 
      html = '<h2>' + weather.temp + '&deg;' + weather.units.temp + '</h2>'; 
      html += '<ul><li>' + weather.city + ', ' + weather.region + ', ' + weather.country + '</li>'; 
      html += '<li class="currently">' + weather.currently + '</li>'; 
      $("#weather").html(html); 
     } 
    }); 
} 
loadWeather('Akron, OH', ''); 
+0

這工作很好,但不幸的是打破了位置功能。我想我只能在特定的地方回想一下loadWeather函數,但我不知道在哪裏。這是一個鏈接到Codepen:http://codepen.io/ManuelNiederl/pen/qOdNLW –

+0

@ManuelNiederl看看這個:http://jsfiddle.net/hopkins_matt/aaov1scu/1/這個版本可能有點更容易理解。我稍微改變了'loadWeather'函數,所以每次調用時都不需要設置位置。讓我知道它是否合理。 –

+0

@ManuelNiederl下面是你的codepen的一個更正的版本:http://codepen.io/techsock/pen/qObQYy另外,不要忘記選擇一個你接受的問題的答案:http://stackoverflow.com/help/某人回答 –

0

不知道爲什麼你的代碼是不是爲你工作。

我粘貼到jsbin中,它適用於我。

請看看這裏:http://jsbin.com/foheguzevo/edit?html,css,js,output

+0

但在我的瀏覽器中不工作... –

+0

發現問題 - '

  • 11. 單擊按鈕時的語言更改
  • 12. 單擊時更改按鈕的內容?
  • 13. 更改容器的按鈕單擊Sencha
  • 14. 更改按鈕上的片段單擊
  • 15. 如何更改點擊按鈕的值?
  • 16. 在按鈕上更改DataGridView單元格的值單擊
  • 17. 單擊單選按鈕時更改下拉列表的值
  • 18. 更改按鈕上的JQGrid單元格值單擊
  • 19. PowerShell - 表單按鈕單擊右括號外的變量變量
  • 20. 單擊單選按鈕時變量變爲另一個變量
  • 21. 使用VBA表單按鈕單擊更改行的所有列的值單擊
  • 22. 單擊按鈕時改變uiview方向
  • 23. 按鈕點擊變量未更新?
  • 24. 使用按鈕的Javascript更改變量
  • 25. 如果點擊了按鈕,更改Javascript中的變量
  • 26. 設置按鈕會話變量單擊
  • 27. 單擊不同單選按鈕時更改角度$範圍值
  • 28. 單擊替代單選按鈕時,Javascript值不會更改
  • 29. 用按鈕更改EditText單擊
  • 30. 按鈕單擊更改選項