Как можно использовать ajax-jquery для получения выбранных данных флажка для модального использования PHP-CodeIgniter - PullRequest
0 голосов
/ 27 октября 2018

как использовать таблицу HTML с флажком во всех строках, и когда я нажимаю кнопку, я хочу, чтобы эти выбранные идентификаторы флажка были модальными.поэтому я хочу использовать ajax для получения связанных данных выбранных идентификаторов из базы данных и показывать их в модальной таблице с использованием PHP-CodeIgniter.Кто-нибудь может помочь мне получить это?

Я пробовал много способов, но все были неудачными.

Заранее большое спасибо.

Пожалуйста, смотрите мой код.

Вкл.таблица страниц VIEW

<table id="dynamic-table">
        <thead>
            <th> Check</th>
            <th> Name</th>
            <th> Country</th>
        </thead>
        <tbody>
            <tr>
                <td> <input type="checkbox" name="ch1" value="1"> </td>
                <td> Rashid </td>
                <td> India </td>
            </tr>
            <tr>
                <td> <input type="checkbox" name="ch1" value="2"> </td>
                <td> Nishad </td>
                <td> India </td>
            </tr>
            <tr>
                <td> <input type="checkbox" name="ch1" value="3"> </td>
                <td> sajeesh </td>
                <td> India </td>
            </tr>
        </tbody>

    </table>

    <button name="submit" id="subm"> Submit </button>
    <button name="cancel" id="canc"> Cancel </button>


    <div id="message"></div>

Скрипт на странице VIEW:

<script>
    $(document).ready(function(){
        $("#subm").click(function(){
            getValueUsingParentTag();
        });
    });
    function getValueUsingParentTag(){
var chkArray = [];

/* look for all checkboes that have a parent id called 'checkboxlist' attached to it and check if it was checked */
$("#dynamic-table input:checked").each(function() {
    chkArray.push($(this).val());
});

/* we join the array separated by the comma */
var selected;
selected = chkArray.join(',') ;




var url = "<?php echo base_url(); ?>/index.php/Ajax";
    $.post( url, { test_input: selected } ) 

         .done(function(data){
            $("#message").html(data.result);
        });





/* check if there is selected checkboxes, by default the length is 1 as it contains one single comma */
if(selected.length > 0){
    alert("You have select" + selected);    
}else{
    alert("Please at least check one of the checkbox"); 
}

}

Мой контроллер AJAX

<?php

определено ('BASEPATH') ИЛИ выйти (' Прямой доступ к сценарию запрещен ');

класс Ajax extends CI_Controller {

public function index()
{
    $posted = $this->input->post('test_input');
    echo json_encode(array('result'=> $posted));        

}

}

Пожалуйста, предложите мне правку или исправьте,На самом деле, я хочу получить данные из БД.Но сначала в этом коде я просто попытался работать с ajax без БД.как только это достигнет успеха, я смогу продолжить извлечение данных из БД.

1 Ответ

0 голосов
/ 27 октября 2018

попробуйте таким образом сохранить значение id в атрибуте значения флажка.затем добавьте класс 'checkAll' к флажкам, представленным в заголовке вашей таблицы.и добавьте класс 'my-checkbox' к флажку каждой строки, затем следующий метод выберет / отменит выбор всех флажков одновременно.написать другую функцию, которая будет проходить через каждый checkboxex с классом my-checkbox и сохранять значение checkbox в массиве, а затем возвращать массив.Надеюсь, это поможет ....

// Select / Deselect all checkboxes
$(".checkAll").click(function () {
    $('input:checkbox').not(this).prop('checked', this.checked);
    console.log(getCheckedValues());
});

function getCheckedValues(){
    var checkboxes = document.getElementsByClassName('my-checkbox');
    var checkboxesChecked = [];
    // loop over them all
    for (var i=0; i < checkboxes.length; i++) {
      // And stick the value of checked ones onto an array...
      if (checkboxes[i].checked) {
        checkboxesChecked.push(checkboxes[i].value);
      }
    }
    // Return the array if it is non-empty, or null
    return checkboxesChecked.length > 0 ? checkboxesChecked : null;
  }

;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...