adapters.html 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>QUnit Example</title>
  6. <link href="../../dist/css/select2.css" rel="stylesheet"/>
  7. <script src="../../vendor/almond-0.2.9.js" type="text/javascript"></script>
  8. <script src="../../vendor/jquery-2.1.0.js" type="text/javascript"></script>
  9. <script src="../../dist/js/select2.js"></script>
  10. </head>
  11. <body>
  12. <select style="width:300px" id="array-single"></select>
  13. <br />
  14. <select style="width:300px" id="array-multiple" multiple="multiple"></select>
  15. <br />
  16. <select style="width:300px" id="remote-single"></select>
  17. <br />
  18. <select style="width:300px" id="remote-multiple" multiple="multiple"></select>
  19. <script>
  20. require(["select2/core", "select2/data/array", "select2/data/ajax"],
  21. function (Select2, ArrayAdapter, AjaxAdapter) {
  22. var arrayData = [
  23. {
  24. id: 0,
  25. text: 'enhancement'
  26. },
  27. {
  28. id: 1,
  29. text: 'bug'
  30. },
  31. {
  32. id: 2,
  33. text: 'duplicate'
  34. },
  35. {
  36. id: 3,
  37. text: 'invalid'
  38. },
  39. {
  40. id: 4,
  41. text: 'wontfix'
  42. }
  43. ];
  44. var arraySingle = new Select2($("#array-single"), {
  45. dataAdapter: ArrayAdapter,
  46. data: arrayData
  47. });
  48. var arrayMultiple = new Select2($("#array-multiple"), {
  49. dataAdapter: ArrayAdapter,
  50. data: arrayData
  51. });
  52. var ajaxSettings = {
  53. url: "https://api.github.com/search/repositories",
  54. dataType: "json",
  55. data: function (params) {
  56. return {
  57. q: "test"
  58. }
  59. },
  60. processResults: function (data) {
  61. var results = $.map(data.items, function (d) {
  62. return {
  63. id: d.id,
  64. text: d.full_name
  65. }
  66. });
  67. return results
  68. }
  69. };
  70. var ajaxSingle = new Select2($("#remote-single"), {
  71. dataAdapter: AjaxAdapter,
  72. ajax: ajaxSettings
  73. });
  74. var ajaxMultiple = new Select2($("#remote-multiple"), {
  75. dataAdapter: AjaxAdapter,
  76. ajax: ajaxSettings
  77. });
  78. });
  79. </script>
  80. </body>
  81. </html>