как проверить в репитере формы jquery - PullRequest
1 голос
/ 03 августа 2020

У меня есть повторитель формы, и мне нужно проверить поле Speci c перед отправкой.

вот мой код

  <div class="col-lg-2" style="margin:0px 5%">
 <div class="form-group">
<label for="amount_split">Amount</label>
<input tclass="form-control split-amount{{ $index }}"
name="split_amount" type="number" id="amount_split">
  </div>
 </div>

форма находится внутри таблицы, поэтому она повторяется для каждая строка.

мне нужно всякий раз, когда какое-либо поле не может отправить форму до того, как добавление всего этого поля будет равно некоторому числу.

я пробовал это

@section('custom_script')
   <script>
 
    var iteration = 0;
    var amount = 0;

     function buttonClicked(ind){
        iteration++;

setTimeout(function(){
        console.log(ind);
        console.log($(".split-amount"+ind));

    var arr=[];
            for (var index = 0; index <= iteration; index++) {
                // console.log(index);
      arr.push($("input[name='moves["+index+"][split_amount]']"));
  
            arr.forEach(function(e){
                $(e).bind('change',function(){
                    // ele.value = 23;
                    // console.log(e[0]);
                    amount += e[0].value;
                    if(amount <= 10){
                        // console.log('yes');
                    }else{
                        // console.log('nooo');

                    }
                });
            });

     }
      
},100);
     }


</script>
     @endsection

1 Ответ

1 голос
/ 04 августа 2020

вот мой ответ на эту проблему

function ind(i){

    $(document).ready(function(){
var el = $(".splite"+i).change(function(){
        var amo = 0;
for(var it = 0;it< el.length;it++){
    amo += parseFloat(el[it].value);
}
console.log(amo);
var am = $("#total"+i);
am = parseFloat(am[0].value);
if(amo == am){
    $("#sub"+i).removeAttr('disabled');
}else{

    $("#sub"+i).attr('disabled',true);
}

$("#split_amount_p"+i).html(amo);
$("#orignal_amount_p"+i).html(am);
if((am - amo) == 0){

$("#difference_amount_p"+i).html(0).css('color','green');
}else{
$("#difference_amount_p"+i).html(am - amo).css('color','red');

}
// console.log(am);
    });
});
}
 function addButton(index){
   ind(index);
 }
  function removeButton(index)
  {
     setTimeout(function(){

   ind(index);
   },500);
 }

</script> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...