Вопрос:

Как отправить выбранное значение в php с помощью ajax?

javascript php jquery ajax codeigniter

741 просмотра

2 ответа

8 Репутация автора

я пытаюсь вставить значение выбранного элемента из тега select, используя для этого ajax: здесь это тег select (он не в форме):

                 <select class="select" id="select" >
                 </select>

вот код, который заполняет выбор из базы данных с помощью php:

  $(document).ready(function(){ 
   <?php foreach ($espace_ids as $row ) {?>

   $('#select').append('<option value="<?php echo $row['espace_id']; ?>"><? php echo $row['nom']; ?></option>'); 

   <?php }?>  });

для отправки данных с реальной страницы в dashbored.php, вот код:

   $("#select").change(function() {
        $.ajax({
            type: 'post',
            url: "<?php //echo base_url(); ?>index.php?directeur/dashboard ?>",
            data: espace_id: $("#select").val(),
            success: function( data ) {
                alert( data );
            }

        });

хорошо, я получаю значение, отправленное с:

$espace_id=$_POST['espace_id'];

проблема в том, что он отображается: неопределенная ссылка на espace_id в dashboard.php. ну, цель состоит в том, чтобы загрузить информацию о пространстве из базы данных в соответствии с пространством, выбранным пользователем. Каждый раз, когда пользователь выбирает опцию, я должен загрузить соответствующую информацию, связанную с выбранным пространством. Я хочу, чтобы ты мне помог. Спасибо

Автор: Leo Источник Размещён: 22.08.2016 09:16

Ответы (2)


0 плюса

168 Репутация автора

Решение

Вы можете использовать следующий пример, чтобы получить идентификатор espace index.php.

$(document).ready(function () 
{
    $('#select').on('change', function () 
    {
        if ($('#select').val() === null) {              
            alert("Error");
        }
        else
        {
            var selectedValue = $('#select').val();

            $.ajax
            ({
                url: 'index.php',
                type: 'POST',
                data: 'espace_id=' + selectedValue,
                success: function(response) 
                {
                    alert(response);
                }
            });
        }
    });
});

на index.php

if(isset($_POST['espace_id']) && !empty($_POST['espace_id']))
{
  // do whatever you want to do here!!
}
Автор: techworld Размещён: 22.08.2016 09:29

0 плюса

156 Репутация автора

Для тех, кто хочет держать его легче, чем Jquery, вы можете сделать что-то вроде этого:

<select onchange="livesearch(this.value)"><option></option></select>
<script> 
function livesearch(id){ 
xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET","url?id="+id, false); xmlhttp.send(null); document.getElementById("searchresults").value=xmlhttp.responseText; } 
</script>
Автор: mrheroux Размещён: 23.08.2016 02:15
Вопросы из категории :
32x32