Как определить, какие флажки в строке отмечены, а какие нет

Эта ошибка может быть вызвана неконтролируемыми требованиями к Java-версии.

В моем случае я смог разрешить эту ошибку, создав высокопрофильный проект с открытым исходным кодом, переключившись с Java 9 на Java 8 используя SDKMAN! .

sdk list java
sdk install java 8u152-zulu
sdk use java 8u152-zulu

Затем выполните чистую установку, как описано ниже.


При использовании Maven в качестве инструмента построения иногда полезно - и, как правило, приятно, сделать clean сборку установки с отключенным тестированием.

mvn clean install -DskipTests

Теперь, когда все построенный и установленный, вы можете продолжить и запустить тесты.

mvn test

0
задан Lajos Arpad 16 January 2019 в 18:10
поделиться

4 ответа

Вот как вы можете сделать это с Javascript без jQuery:

var checkboxData = [];
var trs = document.querySelectorAll("#yourtable tr");
for (var tr of trs) {
    var rowCheckboxes = tr.querySelectorAll("input[type=checkbox]");
    checkboxData.push([]);
    for (checkbox of rowCheckboxes) {
        checkboxData[checkboxData.length - 1].push(checkbox.checked ? "checked" : "unchecked");
    }
};

С jQuery вы делаете нечто подобное, но с $("#yourtable tr").each и .find().

0
ответ дан Lajos Arpad 16 January 2019 в 18:10
поделиться

Тем временем я сделал что-то, что выглядит как правдоподобное решение, может быть, есть лучшие решения, есть то, что я сделал, пожалуйста, поправьте меня с лучшей идеей, спасибо:

function whichCbox() {
   var res='';
   $('#Table2 tr').not(':first').each(function(){
      var hdn = $(this).find('input[id^="Checkbox"]');
      for(var x=0;x<=5;x++){ //there is 6 checkboxes
          if(hdn[x].checked==true) {
              res+='1';
              } else{
              res+='0';
          }
      }
      console.log('State of checkboxes in row is:'+res);
      res='';
   });
return false;
}
0
ответ дан Eva Owlsley 16 January 2019 в 18:10
поделиться

Если вы хотите получить 0 и 1, вы можете легко использовать метод jQuery map (), чтобы получить состояние флажков в каждой строке.

var table = $("table tbody")  // reference the table
table.on("change", "input:checkbox", function () {  // listen for checkbox being checked
  var result = table.find("tr")  // find the table rows
    .map( function () {  // loop over to create an array of the rows
      return $(this).find("input:checkbox")  // find the checkboxes in the row
        .map(function () {    // loop over and create array of the checkbox state
          return this.checked ? "1" : "0"  // if checked it is 1, else 0
        }).get().join("")  // change the array into a string of 0 and 1's
    }).get().join("<br/>")  // combine the array lines on the page
  $("#out").html(result)  // display the  result
}).find('input:checkbox:eq(0)').change();  // trigger change on first checkox so code runs
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr>
      <td><input type="checkbox" checked/></td>
      <td><input type="checkbox" /></td>
      <td><input type="checkbox" /></td>
      <td><input type="checkbox" /></td>
    </tr>
    <tr>
      <td><input type="checkbox" /></td>
      <td><input type="checkbox" checked/></td>
      <td><input type="checkbox" /></td>
      <td><input type="checkbox" /></td>
    </tr>
    <tr>
      <td><input type="checkbox" /></td>
      <td><input type="checkbox" checked/></td>
      <td><input type="checkbox" checked/></td>
      <td><input type="checkbox" /></td>
    </tr>
    <tr>
      <td><input type="checkbox" /></td>
      <td><input type="checkbox" /></td>
      <td><input type="checkbox" /></td>
      <td><input type="checkbox" checked/></td>
    </tr>
  </tbody>
</table>
<div id="out"></div>

0
ответ дан epascarello 16 January 2019 в 18:10
поделиться

Так как кажется, что вы используете jQuery, вы можете сделать следующее:

   var countBoxes = function(){
      const result = [];
      var $rows = $(document).find("tr"); //demo purpose, normally you would pass this as a param 
        $rows.each(function(i, elem){
         result.push({row: i+1, amount: $(elem).find('input[type="checkbox"]:checked').length}); 
      });

      console.log(result) //=>          {row: 1, amount: 1}
                                    //  {row: 2, amount: 1}
                                    //  {row: 3, amount: 2}
                                    //  {row: 4, amount: 1}
}

Он просто перебирает все строки () и проверяет входные данные флажка типа, которые отмечены (: флажок) .

0
ответ дан dont_trust_me 16 January 2019 в 18:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: