PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Filter und Ajax problem
Beitrag
<blockquote data-quote="brizzi" data-source="post: 2464099" data-attributes="member: 688877"><p>Hast du den eine Idee wie ich es am besten lösen kann?</p><p></p><p>hier ist mien Isotop script : </p><p></p><p>[code=JavaScript] <script></p><p>/*jshint browser:true, undef: true, unused: true, jquery: true */</p><p></p><p>var $container;</p><p>var filters = {};</p><p></p><p>$(function mehr(){</p><p></p><p> $container = $('.filtera');</p><p> var $filterDisplay = $('#filter-display');</p><p></p><p> /*$container.isotope();*/</p><p> // do stuff when checkbox change</p><p> $('#options').on( 'change', function( jQEvent ) {</p><p> var $checkbox = $( jQEvent.target );</p><p> manageCheckbox( $checkbox );</p><p></p><p> var comboFilter = getComboFilter( filters );</p><p></p><p> $container.isotope({ filter: comboFilter });</p><p></p><p> $filterDisplay.text( comboFilter );</p><p> });</p><p></p><p>});</p><p></p><p></p><p>var data = {</p><p> brands: 'Streetwear Casual Sportwear Shoes'.split(' '),</p><p> productTypes: 'type1 type2 type3 type4'.split(' '),</p><p> colors: 'red blue yellow green'.split(' '),</p><p> sizes: 'uk-size8 uk-size9 uk-size10 uk-size11'.split(' ')</p><p>};</p><p></p><p>function getComboFilter( filters ) {</p><p> var i = 0;</p><p> var comboFilters = [];</p><p> var message = [];</p><p></p><p> for ( var prop in filters ) {</p><p> message.push( filters[ prop ].join(' ') );</p><p> var filterGroup = filters[ prop ];</p><p> // skip to next filter group if it doesn't have any values</p><p> if ( !filterGroup.length ) {</p><p> continue;</p><p> }</p><p> if ( i === 0 ) {</p><p> // copy to new array</p><p> comboFilters = filterGroup.slice(0);</p><p> } else {</p><p> var filterSelectors = [];</p><p> // copy to fresh array</p><p> var groupCombo = comboFilters.slice(0); // [ A, B ]</p><p> // merge filter Groups</p><p> for (var k=0, len3 = filterGroup.length; k < len3; k++) {</p><p> for (var j=0, len2 = groupCombo.length; j < len2; j++) {</p><p> filterSelectors.push( groupCombo[j] + filterGroup[k] ); // [ 1, 2 ]</p><p> }</p><p></p><p> }</p><p> // apply filter selectors to combo filters for next group</p><p> comboFilters = filterSelectors;</p><p> }</p><p> i++;</p><p> }</p><p></p><p> var comboFilter = comboFilters.join(', ');</p><p> return comboFilter;</p><p>}</p><p></p><p>function manageCheckbox( $checkbox ) {</p><p> var checkbox = $checkbox[0];</p><p></p><p> var group = $checkbox.parents('.option-set').attr('data-group');</p><p> // create array for filter group, if not there yet</p><p> var filterGroup = filters[ group ];</p><p> if ( !filterGroup ) {</p><p> filterGroup = filters[ group ] = [];</p><p> }</p><p></p><p> var isAll = $checkbox.hasClass('all');</p><p> // reset filter group if the all box was checked</p><p> if ( isAll ) {</p><p> delete filters[ group ];</p><p> if ( !checkbox.checked ) {</p><p> checkbox.checked = 'checked';</p><p> }</p><p> }</p><p> // index of</p><p> var index = $.inArray( checkbox.value, filterGroup );</p><p></p><p> if ( checkbox.checked ) {</p><p> var selector = isAll ? 'input' : 'input.all';</p><p> $checkbox.siblings( selector ).removeAttr('checked');</p><p></p><p></p><p> if ( !isAll && index === -1 ) {</p><p> // add filter to group</p><p> filters[ group ].push( checkbox.value );</p><p> }</p><p></p><p> } else if ( !isAll ) {</p><p> // remove filter from group</p><p> filters[ group ].splice( index, 1 );</p><p> // if unchecked the last box, check the all</p><p> if ( !$checkbox.siblings('[checked]').length ) {</p><p> $checkbox.siblings('input.all').attr('checked', 'checked');</p><p> }</p><p> }</p><p></p><p>}</p><p></p><p></script>[/code]</p><p></p><p>und das ist meine Ajax-Datei: </p><p>[code=JavaScript]function vorherigermonat(){</p><p> var userID=$(".zahl:last").val();</p><p> var monat = $('#jetziges_monat').val();</p><p> var year = $('#jetziges_jahr').val();</p><p> $.ajax({</p><p> type:"GET",</p><p> url:"voting_male_iso.php",</p><p> data: "zahl="+userID+"&monat="+monat+"&year="+year,</p><p> success: function(data){ </p><p> $('#vorheriger_monat').remove();</p><p> $('#mehr_items').html(data);</p><p> $container.isotop('insert',data);</p><p> },</p><p> error: function (request, status, error) {</p><p> alert(request.responseText);</p><p> }</p><p> });</p><p> return false;</p><p>};[/code]</p><p></p><p>bin gerade was verzwifelt. Wäre cool wenn du ein Ansatz hättest, oder mir kurz sagen könntest wo ich die version 2 bekomme, den auf der Seite gibt es kein download link und weiß gerade nicht, wie ich es umsetze bzw. einarbeite.</p><p></p><p>Ich bedanke mich an dieser stelle schon mal bei dir für deine Hilfe. <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile :)" loading="lazy" data-shortname=":)" /></p><p></p><p>Ciao,</p><p>brizzi</p></blockquote><p></p>
[QUOTE="brizzi, post: 2464099, member: 688877"] Hast du den eine Idee wie ich es am besten lösen kann? hier ist mien Isotop script : [code=JavaScript] <script> /*jshint browser:true, undef: true, unused: true, jquery: true */ var $container; var filters = {}; $(function mehr(){ $container = $('.filtera'); var $filterDisplay = $('#filter-display'); /*$container.isotope();*/ // do stuff when checkbox change $('#options').on( 'change', function( jQEvent ) { var $checkbox = $( jQEvent.target ); manageCheckbox( $checkbox ); var comboFilter = getComboFilter( filters ); $container.isotope({ filter: comboFilter }); $filterDisplay.text( comboFilter ); }); }); var data = { brands: 'Streetwear Casual Sportwear Shoes'.split(' '), productTypes: 'type1 type2 type3 type4'.split(' '), colors: 'red blue yellow green'.split(' '), sizes: 'uk-size8 uk-size9 uk-size10 uk-size11'.split(' ') }; function getComboFilter( filters ) { var i = 0; var comboFilters = []; var message = []; for ( var prop in filters ) { message.push( filters[ prop ].join(' ') ); var filterGroup = filters[ prop ]; // skip to next filter group if it doesn't have any values if ( !filterGroup.length ) { continue; } if ( i === 0 ) { // copy to new array comboFilters = filterGroup.slice(0); } else { var filterSelectors = []; // copy to fresh array var groupCombo = comboFilters.slice(0); // [ A, B ] // merge filter Groups for (var k=0, len3 = filterGroup.length; k < len3; k++) { for (var j=0, len2 = groupCombo.length; j < len2; j++) { filterSelectors.push( groupCombo[j] + filterGroup[k] ); // [ 1, 2 ] } } // apply filter selectors to combo filters for next group comboFilters = filterSelectors; } i++; } var comboFilter = comboFilters.join(', '); return comboFilter; } function manageCheckbox( $checkbox ) { var checkbox = $checkbox[0]; var group = $checkbox.parents('.option-set').attr('data-group'); // create array for filter group, if not there yet var filterGroup = filters[ group ]; if ( !filterGroup ) { filterGroup = filters[ group ] = []; } var isAll = $checkbox.hasClass('all'); // reset filter group if the all box was checked if ( isAll ) { delete filters[ group ]; if ( !checkbox.checked ) { checkbox.checked = 'checked'; } } // index of var index = $.inArray( checkbox.value, filterGroup ); if ( checkbox.checked ) { var selector = isAll ? 'input' : 'input.all'; $checkbox.siblings( selector ).removeAttr('checked'); if ( !isAll && index === -1 ) { // add filter to group filters[ group ].push( checkbox.value ); } } else if ( !isAll ) { // remove filter from group filters[ group ].splice( index, 1 ); // if unchecked the last box, check the all if ( !$checkbox.siblings('[checked]').length ) { $checkbox.siblings('input.all').attr('checked', 'checked'); } } } </script>[/code] und das ist meine Ajax-Datei: [code=JavaScript]function vorherigermonat(){ var userID=$(".zahl:last").val(); var monat = $('#jetziges_monat').val(); var year = $('#jetziges_jahr').val(); $.ajax({ type:"GET", url:"voting_male_iso.php", data: "zahl="+userID+"&monat="+monat+"&year="+year, success: function(data){ $('#vorheriger_monat').remove(); $('#mehr_items').html(data); $container.isotop('insert',data); }, error: function (request, status, error) { alert(request.responseText); } }); return false; };[/code] bin gerade was verzwifelt. Wäre cool wenn du ein Ansatz hättest, oder mir kurz sagen könntest wo ich die version 2 bekomme, den auf der Seite gibt es kein download link und weiß gerade nicht, wie ich es umsetze bzw. einarbeite. Ich bedanke mich an dieser stelle schon mal bei dir für deine Hilfe. :) Ciao, brizzi [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ★ = 12, ◇ = 4 und die Hälfte von ★ zu ◇ addiert wird, was ist das Ergebnis?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Filter und Ajax problem
Oben