|
57 | 57 | jQuery(e).autocomplete({
|
58 | 58 | appendTo: e.append_to,
|
59 | 59 | autoFocus: e.autoFocus,
|
| 60 | + delay: jQuery(e).attr('delay') || 0, |
60 | 61 | source: function( request, response ) {
|
61 | 62 | var firedFrom = this.element[0];
|
62 | 63 | var params = {term: extractLast( request.term )};
|
|
135 | 136 | jQuery(jQuery(this).attr('data-id-element')).val(ui.item.id);
|
136 | 137 | }
|
137 | 138 | if (jQuery(this).attr('data-update-elements')) {
|
138 |
| - var data = jQuery(this).data(ui.item.id.toString()); |
| 139 | + var data = ui.item; |
| 140 | + var new_record = ui.item.value.indexOf('Create New') != -1 ? true : false; |
139 | 141 | var update_elements = jQuery.parseJSON(jQuery(this).attr("data-update-elements"));
|
140 | 142 | for (var key in update_elements) {
|
141 |
| - var element = jQuery(update_elements[key]); |
142 |
| - if (element.is(':checkbox')) { |
143 |
| - if (data[key] != null) { |
144 |
| - element.prop('checked', data[key]); |
145 |
| - } |
146 |
| - } else { |
147 |
| - element.val(data[key]); |
| 143 | + if(jQuery(update_elements[key]).attr("type") === "checkbox"){ |
| 144 | + if(data[key] === true || data[key] === 1) { |
| 145 | + jQuery(update_elements[key]).attr("checked","checked"); |
| 146 | + } |
| 147 | + else { |
| 148 | + jQuery(update_elements[key]).removeAttr("checked"); |
| 149 | + } |
| 150 | + } |
| 151 | + else{ |
| 152 | + if((new_record && data[key] && data[key].indexOf('Create New') == -1) || !new_record){ |
| 153 | + jQuery(update_elements[key]).val(data[key]); |
| 154 | + }else{ |
| 155 | + jQuery(update_elements[key]).val(''); |
148 | 156 | }
|
149 |
| - } |
150 |
| - if(jQuery(update_elements[key]).attr("type") === "checkbox"){ |
151 |
| - jQuery(update_elements[key]).attr("checked","checked"); |
152 |
| - } |
| 157 | + } |
| 158 | + } |
153 | 159 | }
|
154 | 160 | }
|
155 | 161 | var remember_string = this.value;
|
|
160 | 166 | }
|
161 | 167 | });
|
162 | 168 | jQuery(e).trigger('railsAutocomplete.select', ui);
|
| 169 | + |
163 | 170 | return false;
|
164 | 171 | }
|
165 | 172 | });
|
|
0 commit comments