//= require jquery //= require jquery.tokeninput
$(function() {
var DEFAULTS = { options: { tokenValue: 'id' }, source: [] }; $.each($('input[data-tokeninput]'), function(index, input) { var inputName = $(input).attr('name'); var source = $(input).data('tokeninput').collection || DEFAULTS.source; var options = $.extend({}, DEFAULTS.options, $(input).data('tokeninput').options); var addInput = function(value) { var inputItemName = inputName + '[]'; $('<input name="' + inputItemName + '" type="text" style="display: none;" value="' + value + '">').insertAfter(input); } var addItem = function(item) { var inputItemValue = item[options.tokenValue]; addInput(inputItemValue); } var deleteItem = function(item) { var inputItemValue = item[options.tokenValue]; $('input[value="' + inputItemValue + '"]').remove(); addInput(''); }; options.onAdd = addItem; options.onDelete = deleteItem; if(options.prePopulate) { $.each(options.prePopulate, function(index, itemToPrePopulate) { addItem(itemToPrePopulate) }); } $(input).attr('name', ''); $(input).tokenInput(source, options); });
});