Guest User

Untitled

a guest
Jan 19th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. <div id="project-label">Select a project (type "s" for a start):</div>
  2. <input id="project">
  3. <input type="hidden" id="project-id">
  4. <p id="project-description"></p>
  5.  
  6. $(function() {
  7. //random json values
  8. var projects = [{ id: 1, value: "Thomas", cp: 134 }, { id: 65, value: "Richard", cp: 1743 }, { id: 235, value: "Harold", cp: 7342 }, { id: 78, value: "Santa Maria", cp: 787 }, { id: 75, value: "Gunner", cp: 788 }, { id: 124, value: "Shad", cp: 124 }, { id: 1233, value: "Aziz", cp: 3544 }, { id: 244, value: "Buet", cp: 7847 }];
  9.  
  10.  
  11.  
  12. // define UI behavior methods
  13.  
  14. function _renderMenu(ul, items) {
  15. var self = this;
  16. //table definitions
  17. ul.append("<table border=1><thead><tr><th>ID#</th><th>Name</th><th>Cool&nbsp;Points</th></tr></thead><tbody></tbody></table>");
  18. $.each(items, function(index, item) {
  19. self._renderItemData(ul, ul.find("table tbody"), item);
  20. });
  21. }
  22.  
  23. function _renderItemData(ul, table, item) {
  24. return this._renderItem(table, item).data("ui-autocomplete-item", item);
  25. };
  26.  
  27. function _renderItem(table, item) {
  28. return $("<tr class='ui-menu-item' role='presentation'></tr>")
  29. //.data( "item.autocomplete", item )
  30. .append("<td >" + item.id + "</td>" + "<td>" + item.value + "</td>" + "<td>" + item.cp + "</td>")
  31. .appendTo(table);
  32. };
  33.  
  34. function _doFocusStuff(event, ui) {
  35. console.log(ui)
  36. /* if(typeof(ui.item)=="undefined")
  37. {
  38. event.preventDefault();
  39. event.stopPropagation();
  40. return false;
  41.  
  42. }*/
  43.  
  44. console.log(ui.item.value);
  45. $("#project").val(ui.item.value);
  46. $("#project-id").val(ui.item.id);
  47. $("#project-description").html(ui.item.cp);
  48. return false;
  49. }
  50.  
  51. // create the autocomplete
  52. var autocomplete = $("#project").autocomplete({
  53. minLength: 1,
  54. source: projects,
  55. focus: _doFocusStuff
  56. });
  57.  
  58. // get a handle on it's UI view
  59. var autocomplete_handle = autocomplete.data("ui-autocomplete");
  60.  
  61. //overriding jquery-ui.autocomplete .js functions
  62. autocomplete_handle._renderMenu = _renderMenu;
  63. autocomplete_handle._renderItemData = _renderItemData;
  64. autocomplete_handle._renderItem = _renderItem;
  65.  
  66. });
Add Comment
Please, Sign In to add comment