從Rails 3.1中的select_tag
中選擇(更改)一個選項後,我想發送一個AJAX請求。我們可以使用:remote=>true
或:onchange => remote_function()
還是有其他方法?Rails select_tag - 如何發送ajax請求?
回答
你一定要用jQuery來做到這一點(使用不顯眼的方法來儘可能保持乾淨)。在你的js文件,你應該有這樣的事情......
$('#select_tag_id').change(function(){
$ajax({
url: "remote_action_in_your_controller",
type: "GET",
data: {select_tag_value: $('#select_tag_id option:selected').text()},
})
});
這是簡單,因爲它應該是,如果你只是想打電話給你的控制器上的遠程操作(請注意,我通過選擇價值選項,因爲你可能想要這個值做一些事情)。如果在執行ajax調用之後需要執行某些操作,請使用succes
選項。希望這可以幫助。
你必須用JQuery來做到這一點。事情是這樣的,當文件已準備就緒,:
$('#your_select_tag').change(function() {
$.ajax({ type: "GET",
url: "http://your_url/",
success : function(text) {
alert('success')
}
});
});
看到該文檔:http://api.jquery.com/change/和http://api.jquery.com/jQuery.ajax/。
我想運行一個動作,它通過ajax發送的數據執行一些計算,然後在同一頁面上渲染一個局部視圖。這怎麼可以在這裏完成? – 2012-07-25 14:31:56
您可以在更改功能中進行計算。之後,你可以創建一個app/views/controllers/action.js.erb,你可以在你的文件中做你想做的。這裏有一個例子:http://stackoverflow.com/questions/300498/how-do-i-include-html-in-a-js-rails-response。 – Dougui 2012-07-25 14:46:54
對不起,我想我可能不清楚。我想從select_tag中選擇選項(比如'foo')給我的控制器動作,它會查找數據庫中'foo'的細節,將它們存儲在映射中,然後同一控制器動作將呈現一部分顯示地圖上的細節。這如何實現? – 2012-07-25 15:14:27
remote: true
將data-remote="true"
添加到html元素。只需將其添加爲select_tag
選項中的CSS類即可。
<%= select '', '', @coaches, {}, { data: {remote: true } } %>
請注意data: { remote: true }
被使用,因爲"data-remote"
不紅寶石友好。
- 1. Rails,select_tag,:onchange =>不是ajax請求
- 2. Rails和jQuery發送Ajax請求
- 3. 發送ajax請求
- 4. 如何發送Ajax請求,使用HttpClient
- 5. 如何在OOP中發送AJAX請求?
- 6. 如何發送ajax POST請求
- 7. 如何在rails中發送URL請求?
- 8. 如何通過AJAX發送對Ruby on Rails的請求
- 9. 未發送jQuery AJAX請求
- 10. Ajax請求不被髮送
- 11. Typehead.js不發送ajax請求
- 12. AJAX發送請求兩次
- 13. JQuery .ajax不發送請求
- 14. 如何從jQuery發送ajax請求請求
- 15. rails ajax請求
- 16. Rails Ajax請求
- 17. AngularJS如何發送請求?
- 18. 如何發送curl請求
- 19. 如何發送SAML請求?
- 20. Rails select_tag with ajax動作
- 21. 如何通過post發送數據後發出ajax請求?
- 22. 如何在django中使用ajax發佈請求發送文件
- 23. 使用$ .ajax發送請求到rails控制器
- 24. 無法發送jQuery ajax()請求到php
- 25. Greasemonkey AJAX請求沒有發送數據?
- 26. 多發送Ajax請求每隔1秒
- 27. 一個asp,net controll發送ajax請求
- 28. Ajax POST請求發送undefined到Express
- 29. 發送ajax請求到php失敗
- 30. 在IE6中沒有發送ajax請求
我想運行一個動作,它通過ajax發送的數據執行一些計算,然後在同一頁上渲染一個局部視圖。這怎麼可以在這裏完成? – 2012-07-25 14:31:30
應該是'$ .ajax' – 2016-06-17 17:41:43