JQuery рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди: рдСрдмреНрдЬреЗрдХреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

рдореИрдВ рдПрдХ рджрд┐рди рдкрд╣рд▓реЗ рд▓рд┐рдЦреЗ рдЧрдП рдПрдХ рдЫреЛрдЯреЗ рдкреНрд▓рдЧрдЗрди рдХреЛ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЧреАрдердм рдкрд░ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рд░рд┐рдЯреЗрд▓ рдХрд░реВрдБрдЧрд╛ред

рдкреНрд▓рдЧрдЗрди рдЖрдкрдХреЛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдбреЛрдо рдореИрдирд┐рдкреБрд▓реЗрд╢рди рдХрдорд╛рдВрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрдИ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

рдХреЗ рдЙрдкрдпреЛрдЧ


$.executeObject({"#my_div": ["text", " "]}) //    $.executeObject('{"#my_div": ["text", " "]}') //    JSON 


рдпрд╣ рдХреНрдпреЛрдВ рд╣реИ?


рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рдХреЛрдб рдХреЛ рдХрдо рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдХреЗ рдмрджрд▓реЗ

 $('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 


рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп


рдлрд╝рдВрдХреНрд╢рди рд╕рдлрд▓ рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ред рдЕрд╕рдлрд▓ рдХреЙрд▓ рдЪреБрдкрдЪрд╛рдк рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In142910/


All Articles