Как установить атрибут checked для флажка в каждом флажке, если значение два l oop соответствует значению (с использованием Jquery) - PullRequest
0 голосов
/ 07 мая 2020

В настоящее время у меня проблема, я хочу установить флажок checked, если значение двух циклов совпадает. так что прямо сейчас я могу определить, совпадает ли значение или нет. Я покажу вам, ребята, образец кода и иллюстрацию, где я уже получил результат, если он такой же или нет.

Проблема: есть ли способ установить флажок, установленный для атрибута, если условие совпадает.

Illustration

Jquery:

var push_value_of_checker = [];

            $(res.children_checker_details).each(function (key_checker, value_checker) {

                push_value_of_checker.push(value_checker.details_id);
            });

            // console.log(push_value_of_checker);

            $('.csdtc_chkbox').each(function (key, value_chekbox) {

                var value = $(this).val();

                $(push_value_of_checker).each(function (key, value_chekboxx) {

                    console.log(value_chekbox);

                    if(value == value_chekboxx) {
                        console.log('match');
                    }
                    else {
                        console.log('not match');
                    }
                });

            });

1 Ответ

0 голосов
/ 07 мая 2020

Я создал для вас демо, объяснил это в самом коде. Посмотрите, работает ли это для вас.

const push_value_of_checker = ['1', '2', '3'];  // get the data in an array-- Your logic

$(document).ready(function() {
  
  //loop through all the checkboxes
  $('.csdtc_chkbox').each(function(key, value_chekbox) {
  
      let $this = $(this);  // current element
      
      // check if the array exists and is not empty
      if (typeof push_value_of_checker !== 'undefined' && push_value_of_checker.length > 0) {

        let value = $(this).val();  // get value of the current checkbox
        //console.log(value);
        let include = push_value_of_checker.includes(value); // check if the value exists in the array
        
        if(include === true){ // if yes, check the checkbox
          $this.prop('checked', 'checked');
        }
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- 
1. All checkboxes should have a name, if you're going to save it.
2. Name is an array so that it can store multiple values.
3. Same name inputs should have different values(here just for demo purpose{value2})
3. Id of all the elements should be unique.
-->
<input type="checkbox" value="1" name="xyz[]" class="csdtc_chkbox" id="any-id-1">Value 1
<input type="checkbox" value="2" name="xyz[]" class="csdtc_chkbox" id="any-id-2">Value 2
<input type="checkbox" value="2" name="xyz[]" class="csdtc_chkbox" id="any-id-3">Value 2
<input type="checkbox" value="3" name="xyz[]" class="csdtc_chkbox" id="any-id-4">Value 3
<input type="checkbox" value="4" name="xyz[]" class="csdtc_chkbox" id="any-id-5">Value 4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...