anonīms Posted February 26, 2013 Report 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
0 xPtv45z Posted February 26, 2013 Report 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.
0 draugz Posted February 26, 2013 Report 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
0 anonīms Posted February 27, 2013 Author Report 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
0 anonīms Posted February 27, 2013 Author Report 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
0 draugz Posted February 27, 2013 Report 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
0 v3rb0 Posted February 27, 2013 Report 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
0 anonīms Posted February 27, 2013 Author Report 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
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īms8 answers to this question
Recommended Posts