양식에서 입력 추가 / 제거

Yaylitzis

코드 를 작성했지만 제거 버튼이 작동하지 않습니다. 그리고 콘솔에 오류가 없습니다 ..

var counter = 0;    
var dataList = document.getElementById('materials');
    
    var jsonOptions = [{
                        "product": "11111",
                        "description": "description 1"
                      }, {
                        "product": "22222",
                        "description": "description 2"
                      }, {
                        "product": "33333",
                        "description": "description 3"
                      }, {
                        "product": "44444",
                        "description": "description 4"
                      }, {
                        "product": "55555",
                        "description": "description 5"
                      }]; 

    jsonOptions.forEach(function(item) {
                    
      var option = document.createElement('option');
      
      option.value = item.description;
      option.text = item.description;
      option.setAttribute('data-product', item.product);
      dataList.appendChild(option);
    });

$('#bookForm')
    // Add button click handler
    .on('change', 'input[id^="ajax"]', function() {
    
        var description = $(this).val();
        var product = $('#dataList > option[value="' + description + '"]').data('product');
        $('input[name=product-'+ $(this).attr("name").replace("description-", "") + ']').val(product);
});

    
$('#bookForm')
    // Add button click handler
    .on('click', '.addButton', function() {
        counter++;
        var $template = $('#bookTemplate'),
            $clone    = $template
                            .clone()
                            .removeClass('hide')
                            .removeAttr('id')
                            .attr('data-book-index', counter)
                            .insertBefore($template);

        // Update the name attributes
        $clone
            .find('[name="description"]').attr('name', 'description-' + counter).end()
            .find('[name="product"]').attr('name', 'product-' + counter).end();
    })

    // Remove button click handler
    .on('click', '.removeButton', function() {
        var $row  = $(this).parents('.form-group'),
            index = $row.attr('data-book-index');

        // Remove element containing the fields
        $row.remove();
    });
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <div class="row">
         
    	<div id="bookForm" class="form-group">
                      <label for="inputName" class="col-md-2 col-sm-2 control-label">Υλικό / Ποσότητα</label>
                      <div class="col-md-3 col-sm-3">
                         <input type="text" id="ajax2" list="materials" class="form-control" placeholder="Υλικό" name="description-0">
                         <datalist id="materials"></datalist>
                      </div>
                     
                      <div class="col-md-3 col-sm-3">
                        <input type="number" class="form-control" name="product-0" placeholder="Ποσότητα" required="">
                      </div>
                      
                      <div class="col-xs-1">
                            <button type="button" class="btn btn-default addButton"><i class="fa fa-plus"></i></button>
                        </div>
                    </div>
                    
                    <div id="bookTemplate" class="form-group hide">
                      
                        <div class="col-md-3 col-sm-3 col-md-offset-2 col-sm-offset-2">
                           <input type="text" id="ajax2" list="materials" class="form-control" placeholder="Υλικό" name="description">
                           <datalist id="materials"></datalist>
                        </div>

                        <div class="col-md-3 col-sm-3">
                          <input type="number" class="form-control" name="product" placeholder="Ποσότητα" required="">
                        </div>

                       <div class="col-xs-1">
                          <button type="button" class="btn btn-default removeButton"><i class="fa fa-minus"></i></button>
                      </div> 
                    </div>
    
    
           
   </div>
</div>

샤얀

probelm은 .removeButton내부 에서 클래스 를 선택하는 #bookForm것이지만 실제로 .removeButton는 외부입니다.#bookForm

jsFiddle

$('#bookForm')
    // Add button click handler
    .on('click', '.addButton', function() {
        counter++;
        var $template = $('#bookTemplate'),
            $clone    = $template
                            .clone()
                            .removeClass('hide')
                            .removeAttr('id')
                            .attr('data-book-index', counter)
                            .insertBefore($template);

        // Update the name attributes
        $clone
            .find('[name="description"]').attr('name', 'description-' + counter).end()
            .find('[name="product"]').attr('name', 'product-' + counter).end();
    });

    // Remove button click handler
    $("#bookForm").parent().on('click', '.removeButton', function() {
        var $row  = $(this).parents('.form-group'),
            index = $row.attr('data-book-index');

        // Remove element containing the fields
        $row.remove();
    });

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

입력에서 텍스트 추가 및 양식 제출

분류에서Dev

양식 입력을 동적으로 추가 / 제거

분류에서Dev

Javascript에서 양식 추가 및 제거

분류에서Dev

중력 양식에서 가격 필드 제거

분류에서Dev

제출 버튼 뒤에 추가되는 양식 입력

분류에서Dev

jQuery에서 선택 입력으로 div 추가 및 제거

분류에서Dev

입력 테이블에서 행 추가 또는 제거

분류에서Dev

많은 입력에서 값 추가 또는 제거

분류에서Dev

제출 양식에서 입력 값의 단어 일부 제거

분류에서Dev

제출 양식에서 입력 값의 단어 일부 제거

분류에서Dev

jQuery-입력에 필요한 추가 / 제거

분류에서Dev

입력 필드에 텍스트 힌트 제거 및 추가

분류에서Dev

다른 양식의 목록에서 항목을 추가 / 제거하는 방법은 무엇입니까?

분류에서Dev

FormData () 객체는 Firefox에서 양식의 제출 유형 입력을 추가하지 않습니다.

분류에서Dev

양식 텍스트 입력에서 구분선 제거

분류에서Dev

입력 필드에서 양식 유효성 검사 제거

분류에서Dev

동적 형식의 각 입력 필드 삭제 (추가 및 제거)

분류에서Dev

jquery를 사용하여 양식에 입력을 추가하고 제출

분류에서Dev

HTML 양식 제출-자바 스크립트 배열에 입력 값 추가

분류에서Dev

입력 양식 섹션에 추가

분류에서Dev

입력 양식에 문자열 추가

분류에서Dev

HTML 양식에 입력 필드 추가

분류에서Dev

양식에서 PHP 양식 필드를 동적으로 추가 및 제거 (Jquery)

분류에서Dev

마지막 요소로 div에 열 (입력 요소) 추가 (복제) 및 제거

분류에서Dev

입력 값 추가 및로드시 양식 제출

분류에서Dev

추가 양식 추가 및 제거

분류에서Dev

입력 필드 추가 / 제거 수정

분류에서Dev

입력 필드 추가 및 제거

분류에서Dev

AngularJS-양식에 동적으로 추가 된 입력, 단일 제출시 모든 입력에서 데이터 수집

Related 관련 기사

  1. 1

    입력에서 텍스트 추가 및 양식 제출

  2. 2

    양식 입력을 동적으로 추가 / 제거

  3. 3

    Javascript에서 양식 추가 및 제거

  4. 4

    중력 양식에서 가격 필드 제거

  5. 5

    제출 버튼 뒤에 추가되는 양식 입력

  6. 6

    jQuery에서 선택 입력으로 div 추가 및 제거

  7. 7

    입력 테이블에서 행 추가 또는 제거

  8. 8

    많은 입력에서 값 추가 또는 제거

  9. 9

    제출 양식에서 입력 값의 단어 일부 제거

  10. 10

    제출 양식에서 입력 값의 단어 일부 제거

  11. 11

    jQuery-입력에 필요한 추가 / 제거

  12. 12

    입력 필드에 텍스트 힌트 제거 및 추가

  13. 13

    다른 양식의 목록에서 항목을 추가 / 제거하는 방법은 무엇입니까?

  14. 14

    FormData () 객체는 Firefox에서 양식의 제출 유형 입력을 추가하지 않습니다.

  15. 15

    양식 텍스트 입력에서 구분선 제거

  16. 16

    입력 필드에서 양식 유효성 검사 제거

  17. 17

    동적 형식의 각 입력 필드 삭제 (추가 및 제거)

  18. 18

    jquery를 사용하여 양식에 입력을 추가하고 제출

  19. 19

    HTML 양식 제출-자바 스크립트 배열에 입력 값 추가

  20. 20

    입력 양식 섹션에 추가

  21. 21

    입력 양식에 문자열 추가

  22. 22

    HTML 양식에 입력 필드 추가

  23. 23

    양식에서 PHP 양식 필드를 동적으로 추가 및 제거 (Jquery)

  24. 24

    마지막 요소로 div에 열 (입력 요소) 추가 (복제) 및 제거

  25. 25

    입력 값 추가 및로드시 양식 제출

  26. 26

    추가 양식 추가 및 제거

  27. 27

    입력 필드 추가 / 제거 수정

  28. 28

    입력 필드 추가 및 제거

  29. 29

    AngularJS-양식에 동적으로 추가 된 입력, 단일 제출시 모든 입력에서 데이터 수집

뜨겁다태그

보관