2016-10-06 2 views
0

Was ich erstellen möchte, ist etwas wie der Stack-Überlauf-Tag-Einsatz. Ich möchte in der Lage sein, das Tag in die Einfüge-Box einzugeben, und wenn ich auf die Schaltfläche "Hinzufügen" klicke, wird es in die obige Box eingefügt. Ich möchte auch, dass das neue Tag in das Array 'SelectedTags' geschoben wird. Wenn der Benutzer es aus der Box entfernt, muss es aus dem Array entfernt werden. Ich denke, ich müsste zuerst in das Array drücken und dann die Box basierend auf dem Array-Inhalt auffüllen? Ich habe versucht, es in JSFiddle zu erstellen, aber es funktioniert nicht. Kann jemand beim Verwenden des JSFiddle-Beispiels helfen? http://jsfiddle.net/uVxXg/117/Mit jQuery Tags in Box einfügen?

Ich nehme an, das ist es, was es wie ein Tag aussehen?

$("#tags").tagit({ 
    availableTags: SelectedTags 
}); 
+1

Hier ist ein engerer Link: Ich realisierte etwa auf halbem Weg dabei, dass ich all deine harte Arbeit machte. Hier ist ein Schritt näher. Alles, was Sie tun müssen, ist jetzt aus einem Array zu entfernen: http://jsfiddle.net/uVxXg/122/ – Albzi

+0

Dies ist perfekt, danke! :) – Garrett

+0

Keine Sorgen. Ich werde Sie gerne in die richtige Richtung zeigen, wenn Sie auf etwas stecken bleiben :) – Albzi

Antwort

1

Dies ist, wie Sie es tun:

$(document).ready(function() { 
    var sampleTags = []; 

    $('#tags').tagit({ 
    availableTags: sampleTags, 
    afterTagRemoved: function(evt, ui) { 
    console.log(ui.tagLabel) 
     for(var i = 0; i < sampleTags.length; i++) { 
     if (sampleTags[i] == ui.tagLabel) { 
      sampleTags.splice(i, 1); //Here is the update 
     } 
     } 
    } 
    }); 

    $('form').submit(function(e) { 
    var inp = $('#tagInput').val(); 
    $('#tagInput').val(''); 
    $('#tags').tagit('createTag', inp); 
    sampleTags.push(inp); 
    e.preventDefault(); 
    console.log(sampleTags) 
    }); 

    $("#array").click(function(e){ 
    console.log("MyArray",sampleTags) 
    }) 
}); 

Versuchen Sie, die fiddle aus, und wenn man etwas zum SelectedTags Array hinzuzufügen können, müssen Sie dann die Tags wie in den Tags „Wile type“ Eingang.

+0

Alles, was jetzt benötigt wird, ist aus dem Array zu entfernen, wenn aus der Box entfernt, haben Sie eine Idee, wie Sie dies tun? http://jsfiddle.net/uVxXg/122/ – Garrett

+0

Ich habe meinen Beitrag und die Geige aktualisiert, jetzt ist das Element aus dem Array gelöscht – Zorken17

+0

Vielen Dank das ist sehr hilfreich! Ich habe eine Frage, sagen wir, Sie fügen 3 Wörter in eine Liste ein, z. "[" Ryan "," Garrett "," Hallo "]". In diesem Build müssen Sie sie löschen, um alles aus dem Array zu löschen. Also sagen wir, ich habe zuerst Ryan von den 3 Wörtern gelöscht. Es würde Hello aus dem Array löschen und nicht Ryan. Würdest du wissen, wie du das lösen kannst? Aktualisiert: http://jsfiddle.net/uVxXg/130/ – Garrett