Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS]Autofill + automatyczne dodawanie inputów
lulia
post 23.06.2017, 09:28:17
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.06.2017

Ostrzeżenie: (0%)
-----


Witam. Próbuje ogarnąć jak dodać autofill'a do kodu dodającego inputy. Oddzielnie oba kody działają,razem już nie sad.gif
  1. <div id='TextBoxesGroup'>
  2. <div id="TextBoxDiv1">
  3. <div class="col-md-6">
  4.  
  5. <label for="autocomplete" class="field prepend-icon">
  6. <input class="autocomplete gui-input" type="text" name="autocomplete" placeholder="Wybierz urządzenie *" >
  7.  
  8. <label for="autocomplete" class="field-icon"><i class="fa fa-file-text-o"></i></label>
  9. </label>
  10.  
  11. </div>
  12. <div class="col-md-4"><label class="field select" >
  13. <select id="typnaprawy" name='nastepny_status'>
  14. <option value="">Status *</option>
  15.  
  16.  
  17.  
  18. </select><i class="arrow double"></i>
  19. </label></div>
  20. <div class="col-md-2"><label for="autocomplete" class="field prepend-icon">
  21. <input id="autocomplete" type="text" name="autocomplete" placeholder="Wybierz urządzenie *" class="gui-input" >
  22.  
  23. <label for="autocomplete" class="field-icon"><i class="fa fa-file-text-o"></i></label>
  24. </label>
  25. </div>
  26.  
  27. </div>
  28. </div>

  1. <script src="{{ asset('/jquery-ui.js') }}"></script>
  2.  
  3. <script type="text/javascript">
  4. var availableTags = {{ urzadzenia|json_encode|raw }};
  5. $( "#autocomplete" ).autocomplete({
  6. source: availableTags
  7. });
  8.  
  9.  
  10. $( "#menu" ).menu();
  11.  
  12.  
  13. // Hover states on the static widgets
  14. $( "#dialog-link, #icons li" ).hover(
  15. function() {
  16. $( this ).addClass( "ui-state-hover" );
  17. },
  18. function() {
  19. $( this ).removeClass( "ui-state-hover" );
  20. }
  21. );
  22. $(document).ready(function () {
  23. var counter = 2;
  24.  
  25. $("#addButton").click(function () {
  26. if (counter > 10) {
  27. alert("Only 2 textboxes allowed");
  28. return false;
  29. }
  30. $('<div/>',{'id':'TextBoxDiv' + counter}).html(
  31. $('<label/>').html( )
  32. )
  33. .append( $('<div class="col-md-6" ><label for="autocomplete" class="field prepend-icon"><input id="autocomplete" type="text" class="autocomplete" name="autocomplete" placeholder="Wybierz urządzenie *" ><label for="autocomplete" class="field-icon"><i class="fa fa-file-text-o"></i></label></label></div>').attr({'id':'textbox' + counter,'name':'textbox' + counter }) )
  34. .appendTo( '#TextBoxesGroup' )
  35. .append( $('<div class="col-md-4"><label class="field select" ><select id="typnaprawy" name="nastepny_status"><option value="">Status *</option></select><i class="arrow double"></i></label></div>').attr({'id':'textbox' + counter,'name':'textbox' + counter}) )
  36. .appendTo( '#TextBoxesGroup' )
  37. .append( $('<div class="col-md-2"><input name="te2[]" class="gui-input" type="text"></div>').attr({'id':'textbox' + counter,'name':'textbox' + counter}) )
  38. .appendTo( '#TextBoxesGroup' )
  39. counter++;
  40. });
  41.  
  42. $("#removeButton").click(function () {
  43. if (counter == 1) {
  44. alert("No more textbox to remove");
  45. return false;
  46. }
  47. counter--;
  48. $("#TextBoxDiv" + counter).remove();
  49. });
  50. });
  51.  
  52.  
  53. </script>


Go to the top of the page
+Quote Post
aras785
post 24.07.2017, 10:23:48
Post #2





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


Cześć.

Sporo bałaganu w tym kodzie...
Poprawiłem lekko Twój kod i działa teraz poprawnie:

HTML (różnice: https://www.diffchecker.com/0HQuzL1i)
  1. <div id='TextBoxesGroup'>
  2. <div id="TextBoxDiv1">
  3. <div class="col-md-6">
  4.  
  5. <label for="autocomplete" class="field prepend-icon">
  6. <input class="autocomplete gui-input" type="text" name="autocomplete" placeholder="Wybierz urządzenie *">
  7.  
  8. <label for="autocomplete" class="field-icon"><i class="fa fa-file-text-o"></i>
  9. </label>
  10. </label>
  11.  
  12. </div>
  13. <div class="col-md-4">
  14. <label class="field select">
  15. <select id="typnaprawy" name='nastepny_status'>
  16. <option value="">Status *</option>
  17.  
  18.  
  19.  
  20. </select><i class="arrow double"></i>
  21. </label>
  22. </div>
  23. <div class="col-md-2">
  24. <label for="autocomplete" class="field prepend-icon">
  25. <input id="autocomplete" type="text" name="autocomplete" placeholder="Wybierz urządzenie *" class="gui-input autocomplete">
  26.  
  27. <label for="autocomplete" class="field-icon"><i class="fa fa-file-text-o"></i>
  28. </label>
  29. </label>
  30. </div>
  31.  
  32. </div>
  33. </div>


JS (różnice: https://www.diffchecker.com/CmZxahmZ )
  1. <script src="{{ asset('/jquery-ui.js') }}"></script>
  2.  
  3. <script type="text/javascript">
  4. var availableTags = {
  5. {
  6. urzadzenia | json_encode | raw
  7. }
  8. };
  9. $(".autocomplete").autocomplete({
  10. source: availableTags
  11. });
  12.  
  13.  
  14. $("#menu").menu();
  15.  
  16.  
  17. // Hover states on the static widgets
  18. $("#dialog-link, #icons li").hover(
  19. function() {
  20. $(this).addClass("ui-state-hover");
  21. },
  22. function() {
  23. $(this).removeClass("ui-state-hover");
  24. }
  25. );
  26. $(document).ready(function() {
  27. var counter = 2;
  28.  
  29. $("#addButton").click(function() {
  30. if (counter > 10) {
  31. alert("Only 2 textboxes allowed");
  32. return false;
  33. }
  34. $('<div/>', {
  35. 'id': 'TextBoxDiv' + counter
  36. }).html(
  37. $('<label/>').html()
  38. )
  39. .append($('<div class="col-md-6" ><label for="autocomplete" class="field prepend-icon"><input id="autocomplete" type="text" class="autocomplete" name="autocomplete" placeholder="Wybierz urządzenie *" ><label for="autocomplete" class="field-icon"><i class="fa fa-file-text-o"></i></label></label></div>').attr({
  40. 'id': 'textbox' + counter,
  41. 'name': 'textbox' + counter
  42. }))
  43. .appendTo('#TextBoxesGroup')
  44. .append($('<div class="col-md-4"><label class="field select" ><select id="typnaprawy" name="nastepny_status"><option value="">Status *</option></select><i class="arrow double"></i></label></div>').attr({
  45. 'id': 'textbox' + counter,
  46. 'name': 'textbox' + counter
  47. }))
  48. .appendTo('#TextBoxesGroup')
  49. .append($('<div class="col-md-2"><input name="te2[]" class="gui-input autocomplete" type="text"></div>').attr({
  50. 'id': 'textbox' + counter,
  51. 'name': 'textbox' + counter
  52. }))
  53. .appendTo('#TextBoxesGroup')
  54. counter++;
  55. $(".autocomplete").autocomplete({
  56. source: availableTags
  57. });
  58. });
  59.  
  60. $("#removeButton").click(function() {
  61. if (counter == 1) {
  62. alert("No more textbox to remove");
  63. return false;
  64. }
  65. counter--;
  66. $("#TextBoxDiv" + counter).remove();
  67. });
  68. });



Pozdrawiam

Ten post edytował aras785 24.07.2017, 10:24:45
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.04.2024 - 10:05