anonīms Posted February 26, 2013 Report Share Posted February 26, 2013 (edited) Ir esošs ajax kods: var field_values = saveFieldValues(); $.get(url, function(data) { $('.calendar_clicked_page').html(data); $('.calendar_clicked_page').css('opacity',1); Drupal.attachBehaviors('.calendar_clicked_page'); getFieldValues(field_values); }); un otrs kods, kurš nezinu cik vispār saprātīgs ir, bet nu tāds `fast` variants iespējams ir // Save field values function saveFieldValues() { var data = {}; data['visitors'] = {}; data['additional'] = {}; jQuery('.reservation_visitors input[type="text"]').each(function() { data['visitors'][jQuery(this).attr('id')] = jQuery(this).val(); }); $('.reservation_additional input, .reservation_additional textarea').each(function() { data['additional'][$(this).attr('id')] = $(this).val(); }); return data; } // Get field values function getFieldValues(data) { $(data['visitors'],data['additional']).each(function(key,value) { $('#'+key).val(value); }); Ko man vajag? Lai ievadītās text'a lauku vērtības nepazūd, kad tiek pārlādēts saturs šajā .calendar_clicked_page? Bija doma, ka vienkārši samaucam arrayj'ā un pēc tam, kad ielādēts jaunais html, tad saliekam pa jaunu visus datus, bet nekā. Caur fju viņš pretīm neņem, bet caur browsera konsoli padotie gan strādā. Tātad neatrod vnk kodā šķiet, ka.. Kādi varianti no Jūsu puses? Edited February 26, 2013 by anonīms Link to comment Share on other sites More sharing options...
0 xPtv45z Posted February 26, 2013 Report Share Posted February 26, 2013 Tātad neatrod vnk kodā šķiet, ka.. Un kur problēma nodebugot ar console.log, atrod vai neatrod kaut ko. Vai arī mums to zīlēt, neredzot kāds tev tur html izskatās, ko atgriež ajax utt utt. Link to comment Share on other sites More sharing options...
0 draugz Posted February 26, 2013 Report Share Posted February 26, 2013 (edited) Man liekas, problēma ir tajā, ka jQuery nesaprot, ka tu viņam dod divus masīvus. Pamēģini function getFieldValues(data) { $(data).each(function(k1,v1){ $( v1 ).each(function(key,value) { $('#'+key).val(value); }); }); } //Vai arī vienkārši function getFieldValues(data) { $( data['visitors'] ).each(function(key,value) { $('#'+key).val(value); }); $( data['additional'] ).each(function(key,value) { $('#'+key).val(value); }); } Edited February 26, 2013 by draugz Link to comment Share on other sites More sharing options...
0 anonīms Posted February 27, 2013 Author Report Share Posted February 27, 2013 (edited) Un kur problēma nodebugot ar console.log, atrod vai neatrod kaut ko. Vai arī mums to zīlēt, neredzot kāds tev tur html izskatās, ko atgriež ajax utt utt. miskuzimuā Object {visitors: Object, additional: Object} additional: Object edit-additional-class: "" edit-additional-note: "asdadadadas" edit-additional-worksheets: "1" __proto__: Object visitors: Object edit-visitors-1-name: "asdasd" edit-visitors-1-place: "asdasdasd" __proto__: Object __proto__: Object baigi dīvaini. Izskatās, ka each īsti nenostrādā kā plānots... http://jsfiddle.net/Dw7K6/1/ reāli itāpat viņš eachā nesadala viņus, bet value izvada atkal visu objektu. Edited February 27, 2013 by anonīms Link to comment Share on other sites More sharing options...
0 anonīms Posted February 27, 2013 Author Report Share Posted February 27, 2013 (edited) // Save field values function saveFieldValues() { var data = {}; data['visitors'] = {}; data['additional'] = {}; $('.reservation_visitors input[type="text"]').each(function() { data['visitors'][$(this).attr('id')] = $(this).val(); }); $('.reservation_additional input, .reservation_additional textarea').each(function() { data['additional'][$(this).attr('id')] = $(this).val(); }); return data; } // Get field values function getFieldValues(data) { $.each(data.visitors, function(key,value) { $('#'+key).val(value); }); $.each(data.additional, function(key,value) { $('#'+key).val(value); }); } Edited February 27, 2013 by anonīms Link to comment Share on other sites More sharing options...
0 draugz Posted February 27, 2013 Report Share Posted February 27, 2013 (edited) Anonīms, Pēc kāda principa piešķīri sev best answer? Ja redze nemāna, tad pāris postus augstāk esmu uzrakstījis un tu savā risinājumā izmanto manis doto otro variantu! Edited February 27, 2013 by draugz Link to comment Share on other sites More sharing options...
0 daGrevis Posted February 27, 2013 Report Share Posted February 27, 2013 «Best answer». :D Link to comment Share on other sites More sharing options...
0 v3rb0 Posted February 27, 2013 Report Share Posted February 27, 2013 ja jau "best answer", tad kāpēc tur: * vienā vietā izmanto jQuery, otrā $ ? * kas par console.log palicis? * f-ja kas sākas ar "get" neatgriež neko, bet otra f-ja kas sākas ar "save" salasa datus un tos agriež? vairāk pēc "works for me answer" izskatās :p Link to comment Share on other sites More sharing options...
0 anonīms Posted February 27, 2013 Author Report Share Posted February 27, 2013 maitas :D draugz, diemžēl nē. Jā, iespējams tavs variants par to, ka tiek padoti 2 array'i iespējams ir pareizs, bet pirms tam testējot katru savā tāpat negāja. Problēma vienkārši bija tajā, ka tas viss ir nevis masīvs, bet object'ā.. data['visitors'] != data.visitors daGrevis, why not? :D v3rb0 1. jo pirmā fja tika testēta konsolē un tur ar $ nestrādā ;[[ 2. jo es aizmirsu izņemt 3. nepiekasies :D vairāk pēc "works for me answer" izskatās :p (sun) Slēdzu ciet. Citādi vēl sāksiet te reklamēt savus saitus Link to comment Share on other sites More sharing options...
Question
anonīms
Ir esošs ajax kods:
un otrs kods, kurš nezinu cik vispār saprātīgs ir, bet nu tāds `fast` variants iespējams ir
Ko man vajag? Lai ievadītās text'a lauku vērtības nepazūd, kad tiek pārlādēts saturs šajā .calendar_clicked_page?
Bija doma, ka vienkārši samaucam arrayj'ā un pēc tam, kad ielādēts jaunais html, tad saliekam pa jaunu visus datus, bet nekā.
Caur fju viņš pretīm neņem, bet caur browsera konsoli padotie gan strādā. Tātad neatrod vnk kodā šķiet, ka..
Kādi varianti no Jūsu puses?
Edited by anonīmsLink to comment
Share on other sites
8 answers to this question
Recommended Posts