2016-05-18 1 views
-1

У меня возникла проблема с передачей нескольких значений из выпадающего меню. То, что я делаю, - это система посещаемости, в которой выпадающее меню содержит выбор статуса посещаемости для каждого учащегося. Затем пользователь выбирает статус посещаемости каждого учащегося, и то, что я пытаюсь сделать, - это передать статус, выбранный на другую страницу.Как передать выбранные параметры из выпадающего меню на другую страницу с помощью AJAX

Я пытаюсь вставить выбранный статус посещаемости в массив с использованием AJAX, а затем передать массив на другую страницу. Вот то, что я до сих пор:

todaysattendance.php 
//dropdown menu 
<tr> 
    <td> $fetched_fName $fetched_lName </td> 
    <td> <select name='okselect' id='okselect'> 
     <option value='no'> </option> 
    <option value='p' name='p' style='color:green; font-weight:bold;'>Present</option> 
    <option value='ea' name='ea' style='color:#e1c872; font-weight:bold;'>Excused Absent</option> 
    <option value='ua' name='ua' style='color:#e34c4c; font-weight:bold;'>Unexcused Absent</option> 
    <option value='et' name='et' style='color:blue; font-weight:bold;'>Excused Tardy</option> 
    <option value='ut' name='ut' style='color:purple; font-weight:bold;'>Unexcused Tardy</option> 
    <option value='sr' name='sr' style='color:black; font-weight:bold;'>School's Representative</option> 
    </select></td> </tr> 

todaysattendance.php 
//AJAX code 
var tempArr = []; 
    $("#okselect").change(function() 
    { 
     var output = getValues(this, function() 
     { 
      for (var i=0;i<output.length;i++) 
      { 
       tempArr.push(output); 
      }; 
     }); 
     $.ajax({ 
     type: "POST", 
     url: "add_attendance_check.php", 
     data: {tempArr: tempArr}, 
     success: function(data) { 
        // 
       }, 
       error: function(e) { 
        console.log(e.message); 
       } 
     }); 

});

add_attendance_check.php 
    $passed_attstatus = array(); 
    $thestatus = $_POST['tempArr']; 
    array_push($passed_attstatus, $thestatus); 

Но из этого кодирования, скажем, я принял статус участия 10 студентов, я только успел получить статус присутствия последнего студента. Мне нужна помощь в этом. Заранее большое спасибо!

+1

«$ (« # okselect »). Change (function()' будет работать за изменение выпадающего списка. –

ответ

-1
<select name='okselect' id='okselect' onchange="abc(this.value)"> 
//your option 
</select> 

And Ajax call abc function inner abc(value) 
+0

Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (// meta.stackexchange.com/questions/114762/explaining-whole-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. также старайтесь не толковать код с пояснительными комментариями, что уменьшает читаемость кода и объяснений! –

0

напечатать переменную dropdown_value в add_attendance_check, вы получите значение выбранного раскрывающегося списка.

<form method="post" action="" role="search"> 
    <select name='okselect' id='okselect'> 
    <option value='no'> </option> 
    <option value='p' name='p' style='color:green; font-weight:bold;'>Present</option> 
    <option value='ea' name='ea' style='color:#e1c872; font-weight:bold;'>Excused Absent</option> 
    <option value='ua' name='ua' style='color:#e34c4c; font-weight:bold;'>Unexcused Absent</option> 
    <option value='et' name='et' style='color:blue; font-weight:bold;'>Excused Tardy</option> 
    <option value='ut' name='ut' style='color:purple; font-weight:bold;'>Unexcused Tardy</option> 
    <option value='sr' name='sr' style='color:black; font-weight:bold;'>School's Representative</option> 
    </select> 
    </form> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 

<script type = "text/javascript" language = "javascript"> 
jQuery(document).ready(function() { 
    jQuery("#okselect").change(function() { 
     var dropdown_value = $('#okselect').val(); 
        $.ajax({ 
        type: "POST", 
        url: "add_attendance_check.php", 
        data: {dropdown_value: dropdown_value}, 
        success: function(data) { 
           // 
          }, 
          error: function(e) { 
           console.log(e.message); 
         } 
        }); 
    }); 
}); 
</script> 
0

У меня отличная новость, я, наконец, решил проблему. Все, что мне нужно сделать, чтобы изменить эту строку в todaysattendance.php от

<select name='okselect' id='okselect'> 

в

<select name='okselect[]' id='okselect'> 

В add_attendance_check.php, я просто изменил на

$passed_attstatus = array(); 
$thestatus = $_POST['okselect']; 
array_push($passed_attstatus, $thestatus); 

Нет необходимости для AJAX с самого начала. В любом случае, я хотел бы поблагодарить всех, кто ответил. Хорошего дня!

Смежные вопросы