[Demo] CheckBox Click When Disabled

[Demo] CheckBox Click When Disabled

by dying_sakura

HTML

<div id="result">
</div>

JavaScript

const source = [{
    entryID: 1,
    entryName: 'player1',
    weight: 1900,
    
  },
  {
    entryID: 2,
    entryName: 'player2',
    weight: 1900,
   
  },
  {
    entryID: 3,
    entryName: 'player3',
    weight: 1910,
  
  },
  {
    entryID: 4,
    entryName: 'player4',
    weight: 1910,
  
  },
  {
    entryID: 5,
    entryName: 'player5',
    weight: 1915,
    
  },
  {
    entryID: 6,
    entryName: 'player6',
    weight: 1915,
   
  },
  { 
    entryID: 7,
    entryName: 'player7',
    weight: 1920,
  
  },
  { 
    entryID: 8,
    entryName: 'player8',
    weight: 1920,
  
  },
  {
    entryID: 9,
    entryName: 'player9',
    weight: 1930,
    
  },
  {
    entryID: 10,
    entryName: 'player10',
    weight: 1930,

  },



  ]

function newCombine(data, difference) {
  let nonMatched = [...data]
  const groups = {}

  for (let i = 0; i < nonMatched.length - 1; i++) {
    const first = nonMatched[i]

    inner: for (let j = nonMatched.length - 1; j > i; j--) {
      const second = nonMatched[j]
      const delta = Math.abs(first.weight - second.weight)

      if (delta <= difference && first.entryName !== second.entryName) {
        const groupKey = `${first.weight}_${second.weight}`
        groups[groupKey] = [first, second]
        nonMatched = nonMatched.filter(
          obj => obj.entryID != first.entryID && obj.entryID != second.entryID
        )
        i = -1
        break inner
      }
    }
  }
  return { ...groups, ...nonMatched }
}   



  var result = combine(source)
  var html = ""
  var keys = Object.keys(result) //if there are more than one keys i.e : 2..

  for (var i = 0; i < keys.length; i++) {
  result[keys[i]].forEach(function(val) {

    val.forEach(function(value, index) {

     
        var entryIDs = index == 0 ? "entryIDM[]" : "entryIDW[]"
        var handlers = index == 0 ? "handlerM[]" : "handlerW[]"
        var weights = index == 0 ? "weightM[]" : "weightW[]"
        html += `<input type="text" name="${entryIDs}"...