Rails ajax µÄÁª¶¯µÄÏÂÀ¿ò
# app\controllers\examples_controller.rb
ruby ´úÂë
class ExamplesController < ApplicationController
def ajax_select
@items = %w{AA BB}
end
def get_sub_items
if params[:item] == "AA"
@sub_items = %w{AA1 AA2}
else
@sub_items = %w{BB1 BB2}
end
render :partial => "select"
end
end
# app\views\examples\ajax_select.rhtml
xml ´úÂë
<%= javascript_include_tag :defaults %>
<h1>Examples#ajax_select</h1>
<p>Find me in app/views/examples/ajax_select.rhtml</p>
<%= select :obj, :att, @items, {}, :onchange => remote_function(:update => "sub_items",
:method => "get",
:with => "'item=' + value",
:url => { :controller => :examples, :action => :get_sub_items})
%>
<div id="sub_items">
<select></select>
</div>
#app\views\examples\_select.rhtml
ruby ´úÂë
<%= select(:obj, :item
Ïà¹ØÎĵµ£º
×¢Ò⣺$.get()ºÍ$.post()·½·¨ÊÇjQueryÖеÄÈ«¾Öº¯Êý¡£Ç°Ãæ½²µ½µÄload()·½Ê½ÊǶÔjQuery¶ÔÏó½øÐвÙ×÷µÄ¡£
1¡¢ $.get()·½·¨
¡¡¡¡$.get()·½·¨Ê¹ÓÃGET·½Ê½À´½øÐÐÒì²½ÇëÇó¡£
¡¡¡¡ËüµÄÓï·¨½á¹¹Îª£º
¡¡¡¡$.get( url [, data] [, callback] [, type] )
¡¡¡¡$.get()·½·¨²ÎÊý½âÊÍÈçÏÂ±í£º
²ÎÊýÃû³Æ
Àà¡¡ÐÍ
˵¡¡¡¡Ã÷
url
Strin ......
ŪÁËÒ»ÕûÌìÁË£¬¸Õ¿ªÊ¼Ñ§Ï°Jquery£¬ºÜ¶à¶«Î÷»¹²»Ê죬¿´¿´ÊÓÆµ£¬²é²é×ÊÁÏ£¬ÖÕÓڳɹ¦µÄ¼¯³ÉStruts2+Jquery+Json
Ö±½ÓÉÏͼ:Óû§ÃûÊäÈëxxx,½¹µã¶ªÊ§£¬Ìáʾ”Óû§ÒÑ´æÔÚ“£¬·ñÔòÌáʾ“¿ÉÒÔ×¢²á“£¬ÃÜÂëͬÑùÈç´Ë,
Ê×ÏÈÐèÒªµ¼°ü£ºÈçϳýÁËstruts2±ØÐëµÄ°üÍ⣬»¹ÓÐjson°üÒÔ¼°Éæ¼°µÄcommonsµÄ¼¸¸ö°ü.
´ËÍâҪϠ......
ajaxÇëÇó²»·µ»Øhtml´úÂëµÄÈýÖÖ·½Ê½
ajaxÇëÇó´úÂ룺
function ajaxSend() {
$.ajax({
url: “Test_Ajax.aspx”,
type: “post”,
data: { name: “ajax” },//Èç¹ûÇëÇóµÄ×ÔÉíÒ³Ãæ£¬ÎªÁËÔÚºǫ́ÅжÏÊDz»ÊÇajaxÇëÇó
error: function(xhr, textStatus, errorThown) {
alert(errorThown) ......
$.get()ºÍ$.post()·½·¨
$.get(url [,data] [,callback] [,type])
type£ºstringÀàÐÍ£¬·þÎñÆ÷¶Ë·µ»ØÄÚÈݵĸñʽ£¬°üÀ¨xml£¬html£¬script£¬json£¬textºÍ_default
»Øµ÷º¯ÊýÖ»ÓÐÁ½¸ö²ÎÊý£ºfunction(data,textstatus){....}
data:·µ»ØµÄÄÚÈÝ £ ......
Ò»ÖÜǰ£¬leaderÈÃÎÒдһ¸öÀàËÆ°Ù¶ÈµÄ×Ô¶¯Íê³É¹¦ÄÜ£¬ºÇºÇ£¬ÒòΪ¶Ôajax¼¼ÊõÕÆÎյIJ»ºÃ£¬ËùÒÔ¿àÄÕÁ˺ܾÃûÓÐд³öÀ´
¾¹ýÒ»ÖܵÄѧϰ£¬ÖÕÓÚд³öÁËÒ»¸öajax³ÌÐò£¬ÒÔºóµÄ¹¤×÷¾ÍºÃ×ö¶àÀ²
index.jsp
<html>
<head>
<style >
#child{
color: #333;
width:200px;
&nbs ......