Sha256: cf6638a2f6203a8d1fdc1750c36c02409c025fba6c883b2d6f7bf87eac6bc213
Contents?: true
Size: 1.84 KB
Versions: 2
Compression:
Stored size: 1.84 KB
Contents
<script type="text/javascript"> function splitAutocomplete( val ) { return val.split( /,\s*/ ); } function extractLastAutocompleteRemoteMultiple( term ) { return splitAutocomplete( term ).pop(); } $(function() { $('<%= dom_element %>') // don't navigate away from the field on tab when selecting an item .bind( "keydown", function( event ) { if ( event.keyCode === $.ui.keyCode.TAB && $( this ).data( "autocomplete" ).menu.active ) { event.preventDefault(); } }) .autocomplete({ minLength: 0, source: function( request, response ) { // delegate back to autocomplete, but extract the last term $.getJSON( '<%= source_path %>', { term: extractLastAutocompleteRemoteMultiple( request.term ), <% if defined? additional_params %> <%= additional_params.collect{|key, value| "#{key.to_s}: $(\"##{value.to_s}\").val()".html_safe}.join(',').html_safe %> <% end %> }, response ); }, focus: function() { // prevent value inserted on focus return false; }, select: function( event, ui ) { $(this).val(''); $('<%= ul %>').append( "<li><span>" + ui.item.label + '</span><input type="hidden" value="' + ui.item.value + '" id="<%= dom_element_id %>_' + ui.item.value + '" name="<%= dom_element_id %>[' + ui.item.value + ']" /><a href="#" class="<%= dom_element_id %>_remove_autocomplete">(X)</a></li>' ); // call the callback function if exists if(typeof <%= "#{dom_element_id}_on_autocomplete_select" %> == 'function') { <%= "#{dom_element_id}_on_autocomplete_select" %>(event, ui); } return false; } }); $(document).on('click', "<%= ul %> a", function() { $(this).parent().remove(); }); }); </script>
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mdd-3.1.4 | app/views/template/mdwa/_autocomplete_remote_multiple_tag.html.erb |
mdd-3.1.2 | app/views/template/mdwa/_autocomplete_remote_multiple_tag.html.erb |