Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mendapatkan semula nilai baris yang tidak dipilih dalam jadual data HTML menggunakan jquery

Saya cuba mendapatkan nilai semua baris di mana butang tidak diklik. Sebagai contoh, apabila saya mengklik butang pada baris pertama, saya ingin mendapatkan semula nilai baris yang tidak diklik.

 
var table = document.getElementById("all_department");
if (table != null) {
  for (var i = 0; i < table.rows.length; i++) {
  table.rows[i].onclick = function() {
  tableText(this);
      }
    }
  }    
    
function tableText(tableRow) {
var myJSON = JSON.stringify(tableRow);
console.log(myJSON);
}
    <table id="all_departments">
     <thead>
              <th><button>click</button></th>                                   
              <th>Departments</th>
              <th>Creation Date</th>
              <th>Name</th>
     </thead>
    <tbody class="bl">
           <tr>
                <td><button>click</button></td>
                <td>Management</td>
                <td>2-3-2016</td>
                <td>client x</td>
          </tr>
    
           <tr>
                <td><button>click</button></td>
                <td>Sales</td>
                <td>25-6-2019</td>
                <td>client y</td>
          </tr>
    </tbody>
    </table>

P粉431220279P粉431220279177 hari yang lalu1433

membalas semua(1)saya akan balas

  • P粉561323975

    P粉5613239752024-04-06 00:50:27

    Anda boleh mendengar pengendali klik pada butang, dapatkan tr ibu bapa butang yang diklik, dan kemudian dapatkan butang adik-beradik.

    Sebaik sahaja kami mempunyai semua adik-beradik, kami boleh mengulangi mereka dan membentuk rentetan yang terhasil.

    Sila rujuk kod di bawah

    const allBtns = document.querySelectorAll('button');
    allBtns.forEach(function(btn) {
      btn.addEventListener('click', function(e) {
        let elem = this.closest('tr');
        const siblings = getSiblings(elem);
        const result = [];
        siblings.map(ele => {
          ele.querySelectorAll('td').forEach((e, i) => {
            if (i !== 0) {
              result.push(e.innerText);
            }
          });
        });
        console.log(result.join(','));
      })
    });
    
    const getSiblings = function(e) {
      let siblings = [];
      if (!e.parentNode) {
        return siblings;
      }
    
      let sibling = e.parentNode.firstChild;
    
      while (sibling) {
        if (sibling.nodeType === 1 && sibling !== e) {
          siblings.push(sibling);
        }
        sibling = sibling.nextSibling;
      }
      return siblings;
    };
    Departments Creation Date Name
    Management 2-3-2016 client x
    Sales 25-6-2019 client y

    balas
    0
  • Batalbalas