2012-03-26 16 views
0

Ich arbeite an einem Code, der das Instagram Query-Plugin zum Laden von Fotos in eine Seite und Jquery Isotope für das Layout verwendet. Ich habe es funktioniert außer, dass ich die Fähigkeit haben möchte, einen Hash-Namen in einer Texteingabe einzugeben, der jene Bilder lädt, die mit diesem Hash-Namen markiert sind. Ich habe einen Knopf, der die Bilder lädt. Es funktioniert großartig, wenn ich zum ersten Mal die Texteingabe eingebe, aber ich kann den Hash nicht in der Button-Klick-Funktion aktualisieren, wenn sich die Texteingabe ändert. Ich frage mich, ob ich Delegat dafür verwenden muss? Jede mögliche Hilfe würde geschätzt werden Ich bin ein Anfänger jquery Kodierer, also merke ich, dass mein Code etwas Feinabstimmung benötigt.Isotope und Instagram Jquery-Plugins - Aktualisieren einer Texteingabe val() dynamisch in einer jQuery-Klickfunktion

$(function(){ 

var selectedHash = $("input:text[name=hash]").val();  
var insta_container = $(".instagram"), insta_next_url; 

insta_container.instagram({ 
    hash: selectedHash, 
    clientId : '4cc3fc9df774483cb575b405f3c1cc21', 
    show : 10, 
    locationId: '', 
    onComplete : function (photos, data) { 
    var insta_next_url = data.pagination.next_url; 
    $(function(){ 
    $('div.instagram').imagesLoaded(function(){ 
    $(this).isotope({ 
     itemSelector : '.item', 
     masonry: { 
    columnWidth: 170 
    } 
    }); 
    }); 
     });  
    } 
    }); 

$('button.add').bind('click', function(){ 
    var button = $(this); 
    var selectedHash = $("input:text[name=hash]").val();  
    insta_container.instagram({ 
     next_url : insta_next_url, 
     hash: selectedHash, 
     clientId : '4cc3fc9df774483cb575b405f3c1cc21', 
     show : 10, 
     onComplete : function(photos, data) { 
     insta_next_url = data.pagination.next_url; 

     var $newItems = $(insta_next_url); 
    $('div.instagram').prepend($newItems).isotope('reloadItems').isotope({ sortBy: 'original-order' }); 
    } 
    }); 
}); 



}); 
+0

Fügen Sie etwas 'console.log (/ * Variable hier * /)' Zeilen der 'click' und' onComplete' Funktionen. Ist ausgewähltHash changing? Läuft der Instagram-Ajax? Gibt es die erwarteten Daten zurück? –

+0

Also versuchen Sie, den Text der Texteingabe als den Text der Schaltfläche einzugeben, nachdem sie auf die Schaltfläche geklickt haben? –

+0

Auch in Ihrem 'button.add' Klick-Ereignis haben Sie' button.text (text) ', ich sehe' text' nirgends. –

Antwort

0

Nun, hier ist ein Problem.

var selectedHash = $("input:text[name=hash]").val(); 

... sollte ...

var selectedHash = $("input[name='hash']").val(); 
+0

Whoa. '$ (" input: text [name = hash] ")' funktioniert tatsächlich. Vergiss das. Heute etwas Neues gelernt. :) –