У меня есть аякс в

$.each(data, function(i, item) {
    $('.remaining').val(item.arrears)
});

.remaining входное значение не изменяется при изменении. Кто-нибудь знает, как это сделать этот. Я новичок в JQuery. Ниже вы можете найти JQuery, который я использую.

<script type="text/javascript">
  $("select[name='student_detail_id']").change(function() {
      var student_detail_id = $(this).val();
      console.log(student_detail_id);
      var token = $("input[name='_token']").val();
      $.ajax({
          url: "<?php echo url('admin/remaining_fee') ?>",
          method: 'POST',
          data: { student_detail_id: student_detail_id, _token: token },
          success: function(data) {
            console.log(data);
            $(".remaining").each(function() {
                $(this).find('input').not(':first').remove();
            });

            $.each(data, function(i, item) {
                 $('.remaining').val(item.arrears)

            });
          }
      });
  });
  </script>

<div class="form-group">
 <label for="email">Remaining</label>
 <input type="text" class="form-control remaining" name="" id="" required="" Readonly /></div>

Я хочу на изменение выбрать значение () изменить.

0
zeeshan 28 Май 2019 в 20:03

2 ответа

Лучший ответ

Я предлагаю вам заменить это:

$.each(data, function(i, item) {
     $('.remaining').val(item.arrears)
});

С этим:

  $("select[name='student_detail_id']").change(function() {
      var student_detail_id = $(this).val();
      console.log(student_detail_id);
      var token = $("input[name='_token']").val();
      $.ajax({
          url: "<?php echo url('admin/remaining_fee') ?>",
          method: 'POST',
          data: { student_detail_id: student_detail_id, _token: token },
          success: function(data) {
            console.log(data);
            $(".remaining").each(function() {
                // here we empty the container to make it ready to add items
                $('.inputContainer').html('');
                //$(this).find('input').not(':first').remove();
            });

            $.each(data, function(i, item) {
                 //here we create an element
                 const $input = $('<input />')
                   .addClass('form-control remaining')
                   .attr('name','remaining')
                   .attr('id', 'remaining_'+i)
                   .attr('type', 'text')
                   .attr('readonly', 'readonly')
                   .val(item.arrears)

                 // here we append it into container
                 $('.inputContainer').append($input);

              });

          }
      });
  });

И HTML что-то вроде:

<div class="form-group">
 <label for="email">Remaining</label>
 <input type="text" class="form-control remaining" name="" id="" required="" Readonly />
 <div class="inputContainer" >

 </div>
</div>

Вот как вы добавляете элемент с помощью jQuery. и тогда вы можете сделать $('#container').append($element)

0
Mishel Parkour 28 Май 2019 в 17:35
$(":input").bind("keyup change", function(e) {
    // do stuff!
})

Надеюсь, это поможет.

0
BSMP 28 Май 2019 в 18:08