') .data('value', systemName) .text(systemName+' ') .append('[-]') .appendTo('#'+listId) ; this.updateField(listId); }, addFromInput: function(listId, inputId) { this.add(listId, $('#'+inputId).val()); $('#'+inputId).val(''); }, remove: function(el) { var li = $(el).parent(); var listId = li.parent().attr('id'); li.remove(); this.updateField(listId); }, updateField: function(listId) { $('#'+this.fieldId[listId]).val( $('#'+listId+' > li') .map(function() { return $(this).data('value'); }) .get() .join('|') ); }, updateList: function(listId) { $('#'+listId+' > li').remove(); var systemNames = $('#'+this.fieldId[listId]).val().split('|'); for (var i = 0; i < systemNames.length; i++) { this.add(listId, systemNames[i]); } }, };