Saya mencoba memperbarui nilai dalam database menggunakan tombol sakelar Ini skrip saya

$(document).ready(function () {
   $('input.status').on('change', function () {
       var decision = $(this).val();
       var id = $('td.myvalue').html();     
        alert(decision);
        alert(id);
        $.ajax({
        type: "POST",
        url: "/CodeIgniter/users/Users/update",
        data: {decision: decision, id: id},
        success: function (msg) {

        $('#autosavenotify').text(msg);
       }
    })
  });
});

Tabel data

<table class="table table-striped table-hover DataTables "id="DataTables" cellspacing="0" width="100%">
    <thead>
        <tr>
            <th>Icon</th>
            <th>Name</th>
            <th>Group Users</th>
            <th>Status</th>
             <th>Action</th>
        </tr>
    </thead>
    <tbody>
        <?php $i = 0;
            foreach ($getTableGroup as $value) { ?>
        <tr>
            <td class="myvalue">
                <?= $value->id ?>
            </td>
            <td>
                <?= $value->group_name ?>
            </td>
            <td>
                <input class="tagsinput form-control" type="text" value="sam"/>
            </td>
            <input class="myid" type="hidden" value="<?= $value->id ?>"/> 
            <td >
                <?php if ($value->group_status == 'on'): ?>
                <div class="switch">
                    <div class="onoffswitch">
                        <input type="checkbox" checked class="onoffswitch-checkbox status" id="example<?= $i ?>" name="group-status" >
                        <label class="onoffswitch-label" for="example<?= $i ?>">
                            <span class="onoffswitch-inner"></span>
                            <span class="onoffswitch-switch"></span>
                        </label>
                    </div>
                </div>
                <?php elseif ($value->group_status == 'off'): ?>
                <div class="switch">
                    <div class="onoffswitch">
                        <input type="checkbox" checked class="onoffswitch-checkbox status" id="example<?= $i ?>" name="group-status">
                        <label class="onoffswitch-label" for="example<?= $i ?>">
                            <span class="onoffswitch-inner"></span>
                            <span class="onoffswitch-switch"></span>
                        </label>
                    </div>
                </div>
                <?php endif; ?>
            </td>
        </tr>
        <?php
            $i++;
            }
        ?>
    </tbody>
</table>

Kode saya berfungsi dengan baik tetapi masalahnya ada di bagian skrip di mana ketika saya mengklik tombol sakelar id tidak bertambah setiap kali id ​​masuk di kotak peringatan adalah 1 tetapi di datatable itu menunjukkan nomor Id dari database

0
Abdullah Fraz 18 Agustus 2017, 14:38

2 jawaban

Jawaban Terbaik

Nilai td pertama yang selalu Anda ambil $('td.myvalue') Salah Anda harus mengambil nilai tr td yang saat ini diubah seperti ini

 var id = $('td.myvalue').html(); //it will always return the first td only .  

Mengubah

var id = $(this).parent('div').parent('div').parent('td').parent('tr').find('td.myvalue').html();  
0
JYoThI 18 Agustus 2017, 11:54

Anda dapat menggunakan kode berikut untuk mengurangi lebih banyak induk.

var id =  $(this).closest('tr').find('td.myvalue').text();
0
Subhash Mamgai 18 Agustus 2017, 12:30