0
var message = $("#send_message").val();

    var Teaminput = $("#sms_reminder_team").val();
    for (var i = 0; i <Teaminput.length; i++) 
    {
       var team=Teaminput[i];
    }

    var Memberinput = $("#sms_reminder_members").val();
    for (var i = 0; i <Memberinput.length; i++) 
    {
    var members=Memberinput[i];

  }

Get 2 varaibles as array members and team

var parameter = "message="+message+"&team="+team+"&members="+members;
  $.ajax({
  url: base_url+'ajaxfiles/dir_sendmessage',
  type: 'POST',
  data: parameter,
  success: function(data)
  {
    document.getElementById('check').innerHTML = data; 
  }
  });

How to send both array variables using AJAX from current page to "dir_sendmessage".

1
  • do you mean team and members are arrays? then in for loop it should be like var team[]=Teaminput[i]; instead of var team=Teaminput[i]; Commented Jul 15, 2016 at 4:46

4 Answers 4

1

Change the below line

var parameter = "message="+message+"&team="+team+"&members="+members;

to

var parameter = "message="+message+"&team="+JSON.stringify(team)+"&members="+JSON.stringify(members); 

Edit: Modify like this too

var team = [];
var members = [];
for (var i = 0; i <Teaminput.length; i++) 
{
   team=Teaminput[i];
}

var Memberinput = $("#sms_reminder_members").val();
for (var i = 0; i <Memberinput.length; i++) 
{
   members=Memberinput[i];
}

Note: When you add var in each line in the loop, it will declare a new variable. You have to edit like the above code

After update the code with the JSON.stringify() function, you will be able to get the value as an array in you PHP code

Ajax will not directly pass Jquery array to PHP

Sign up to request clarification or add additional context in comments.

9 Comments

it's working but in dir_sendmsg page it's show only last value which one i select so how can i retrive as a array in second page???
@BalsaraDhaval, I didn't get what you mean. What you mean by only last value ?
i have 8 Teams and 10 different Members connected to that particular team now when i pass JSON.stringify() through data of team and member that time i get only one data which one i select last in select box.eg. if i select first STT(id:1) team and then GCC(id:3) team then output will only 3.
Just alert the variables team and members in your java script and observe what you are getting.
After Scope of array i just get one element in alert box and inside of scope i get all elements so how to i define variable as a Public inside of the for loop scope so able to get both variable data?
|
0

First of all ideally you should send in JSON format or use array.tostring() ( can avoid this )

But if you have to send it as array you can try following:

$.ajax({ 
url: base_url+'ajaxfiles/dir_sendmessage', 
type: 'POST',
 data: {team:team, members: members}, 
success: function(data) { 
document.getElementById('check').innerHTML = data; } });

Comments

0
var message = $("#send_message").val();
    var teaminputt = $("#sms_reminder_team").val();
    team = new Array();
    members = new Array();
    for (var i = 0; i <teaminputt.length; i++) 
    {
       var team=teaminputt[i];
    }

    var memberinput = $("#sms_reminder_members").val();
    for (var i = 0; i <memberinput.length; i++) 
    {
    var members=memberinput[i];

    }

    var parameter = "message="+message+"&team="+team+"&members="+members;
    $.ajax({
        url: base_url+'ajaxfiles/dir_sendmessage',
        type: 'POST',
        data: parameter,
        success: function(data)
        {
        document.getElementById('check').innerHTML = data; 
        }
    });

Comments

0
$("#msg-send-btn").click(function() {
      var message = $("#send_message").val();
      var optionsmembers = $('#sms_reminder_members option:selected');
      var members = $.map(optionsmembers ,function(option) {
      return option.value;
      });

//---- Using $.map get all selcted data as a an Array.

var postData = {
                  message,
                  members
               }

//---- For Avoid Json-Stringfy.

 $.ajax({
  url: base_url+'ajaxfiles/dir_sendmessage.php',
  type: 'POST',
  data:{myData:postData},

//----- And It's Work Perfectly.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.