Sha256: 23feb92824d79e1c3cbb243fdabe0a81d34daa8f5f289a7ac0938369d49bf2d0
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 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 ) }, 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; } }); $( ".<%= dom_element_id %>_remove_autocomplete").on( "click", function() { $(this).parent().remove(); }); }); </script>
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mdd-3.1.1 | app/views/template/mdwa/_autocomplete_remote_multiple_tag.html.erb |