Ich versuche, X-Editierbares Plugin mit Select2 Tags-Option zu bekommen, wo ich arbeite kann einige Tags von einem Array-Objekt, das ich vom Server abrufe, auffüllen.(X-Editierbar) mit (Select2 Tags) funktioniert nicht, kann die aktuellen Tags nicht füllen und verfolgen und hinzugefügt/entfernt Tags
HTML
<div class="container">
<table>
<tr>
<td>Name:</td>
<td><div class="editable" data-asset="name"></div></td>
</tr>
<tr><td>Description</td><td><div class="editable" data-type="textarea" data-asset="description"></div></td></tr>
<tr>
<td>Tags:</td>
<td>
<div class="editable" data-asset="tags"></div>
<button id="asset-button-tags-edit">Edit Tags</button>
</td>
</tr>
</table>
</div>
JavaScript:
data = {
///...
// current tags <- user can add and remove tags
assetTags: [{
'778': 'Racer',
'456': 'BMW',
'112': 'M3'
}],
// available tags <- user could only add tags from this list
availableTags: [{
'345': 'Winner',
'789': 'Boy Racer',
'101': 'Boy Racer',
'009': 'Orange',
'778': 'Racer',
'456': 'BMW',
'112': 'M3'
}]
///...
}
$assetTags.editable({
type: 'select2',
pk: 1,
autotext : 'always',
source : getSource(),
value : data.assetTags,
emptytext: 'None',
display: function(value, sourceData) {
var html = data.assetTags,
checked = $.fn.editableutils.itemsByValue(data.assetTags, data.assetTags, 'id');
if(checked.length) {
$.each(checked, function(i, v) { html.push($.fn.editableutils.escape(v.text)); });
$(this).html(html.join(', '));
}
else {
$(this).empty();
}
},
select2: {
multiple : true,
initSelection : data.assetTags
}
});
Wie es funktionieren soll:
- Benutzer können nur hinzufügen Tags data.assetTags whic h sind erhältlich bei data.availableTags
- Benutzer entfernen können alle Tags von data.assetTags
So was auch immer Änderungen getan wird, sollte es synchron mit data.assetTags sein und das ist, was ich wird zurück zum Server gesendet.
Hier ist, was ich gerade erreicht habe, nicht sicher, wo ich falsch liege! hoffentlich kann mir jemand helfen mit diesem
DEMO :): http://jsfiddle.net/Farzad/20e6e1os/10/
Vielen Dank
Vielen Dank, du bist erstaunlich :) was ich genau gesucht habe! Sicher werde ich mir die Frage ansehen :) –
Nein, danke. Ich teile nur meine Gedanken und Kenntnisse über dieses Plugin. Irgendwie habe ich mein eigenes Problem nicht so gelöst wie du, vielleicht sollte ich mein Wissen bezüglich meines Problems teilen, in dem ich dein Problem, das ich gelöst habe, bereits erlebe. Ich hoffe, Sie verstehen und lösen, was ich Ihnen gegeben habe und bevorzugen Sie auf meinem Frage-Link. –