Sha256: 550cca5a0d46a2cbde3cbefa2c0388dd1cf58404188510e98f452114f3328f54

Contents?: true

Size: 1.28 KB

Versions: 20

Compression:

Stored size: 1.28 KB

Contents

var MultipleFields = new Class({
	version: 0.1,

	options: {
		spliter: ';'
	},

	// Implements: [Options, Events],

	initialize: function(_object, _options) {
		if ( ! _object) { return; }
		// this.setOptions(_options);
		if (_object.get('data-spliter')) {
			this.options.spliter = _object.get('data-spliter');
		}

 		var elem = _object;
		var template = elem.clone()
			.erase('name').erase('id').erase('data-spliter').erase('value')
			.addClass('template');

		elem.set('type', 'hidden');

		new Element('span.plus_button.qe_button.default_form_align', {text: '+'})
			.inject(elem, 'after')
			.addEvent('click', function(e){
				this.addField(elem, template);
			}.bind(this));

		elem.get('value').toString().split(this.options.spliter).each(function(data){
			this.addField(elem, template, data);
		}.bind(this));
	},
	
	addField: function(elem, template, data){
		template
			.clone()
			.set('value', data)
			.addEvent('change', function(e){
				var values = [];
				e.target.getParent('.input').getElements('.template').each(function(template){
					if (template.value.trim()) {
						values.push(template.value.trim());
					}
				});
				elem.set('value', values.join(this.options.spliter));
			}.bind(this))
			.inject(elem.getParent('.input').getElement('.plus_button'), 'before');
	}
});

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
bhf-0.10.12 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.10.11 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.10.10 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.10.9 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.9.9 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.9.8 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.9.7 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.9.6 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.9.5 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.9.4 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.9.3 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.9.2 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.9.1 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.9.0 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.8.7 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.8.6 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.8.5 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.8.4 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.8.3 app/assets/javascripts/bhf/classes/MultipleFields.js
bhf-0.8.2 app/assets/javascripts/bhf/classes/MultipleFields.js