2016-05-18 9 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/explain-entire-code-based-answers)は、あなたの投稿の質を向上させるのに本当に役立ちます。将来読者の質問に答えている人で、あなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これにより、コードと説明の両方の可読性が低下します! –

0

add_attendance_checkのprint変数dropdown_valueは、選択したドロップダウンの値を取得します。

<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

私は結局のところ、この問題を解決しました。私がやらなければならないことがadd_attendance_check.phpで

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

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

からtodaysattendance.phpにこの行を変更することです、私は単に

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

AJAXのための必要性無しに変更します最初から。とにかく、私は応答したすべての人に感謝したいと思います。良い一日を過ごしてください!

関連する問題