рдореИрдВ рдПрдХ рджрд┐рди рдкрд╣рд▓реЗ рд▓рд┐рдЦреЗ рдЧрдП рдПрдХ
рдЫреЛрдЯреЗ рдкреНрд▓рдЧрдЗрди рдХреЛ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЧреАрдердм рдкрд░ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рд░рд┐рдЯреЗрд▓ рдХрд░реВрдБрдЧрд╛ред
рдкреНрд▓рдЧрдЗрди рдЖрдкрдХреЛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдбреЛрдо рдореИрдирд┐рдкреБрд▓реЗрд╢рди рдХрдорд╛рдВрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрдИ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рдХреЗ рдЙрдкрдпреЛрдЧ
$.executeObject({"#my_div": ["text", " "]})
рдпрд╣ рдХреНрдпреЛрдВ рд╣реИ?
рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рдХреЛрдб рдХреЛ рдХрдо рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдХреЗ рдмрджрд▓реЗ
$('table tr:first').remove(); $('input#name').val('John'); $('#my_div').addClass('error').text(' ');
рдЖрдк рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
var = { 'table tr:first': 'remove' , 'input#name': ['val', ''] , '#my_div': [ ['addClass', 'error'] , ['text', ' '] ] } $.executeObject()
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдкрдиреЗ рдИрдЖрд░рдмреА рдкрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдмрджрд╕реВрд░рдд рдЬрдорд╛ рдХрд┐рдпрд╛ рд╣реИ:
$('input#name').val('<%= escape_javascript(@person.name) %>') $('#my_div').addClass('error').text('<%= escape_javascript(@error) %>')
рдЗрд╕реЗ рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд░рдЧрдбрд╝ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ):
obj = {'input#name' => ['val', @person.name], '#my_div' => [%w[addClass error], ['text', @error]]} render js: "$.executeObject( #{obj.to_json} )"
рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ (рджреГрд╢реНрдп) рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдПред рдЖрдк рдХреЙрд▓рдмреИрдХ рдХреЙрд▓рдмреИрдХ рдХреЗ рд░реВрдк рдореЗрдВ $ .executeObject рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$.post('/my/url', {: ''}, $.executeObject)
рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдмрд╕ рддреИрдпрд╛рд░ рд╡рд╕реНрддреБ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ:
render json: obj
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп
рдлрд╝рдВрдХреНрд╢рди рд╕рдлрд▓ рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ред рдЕрд╕рдлрд▓ рдХреЙрд▓ рдЪреБрдкрдЪрд╛рдк рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рд░рд╣реЗ рд╣реИрдВред