Below is my $.ajax call, how do I put a selects (multiple) selected values in the data section?
$.ajax({
type: "post",
url: "http://myServer" ,
dataType: "text",
data: {
'service' : 'myService',
'program' : 'myProgram',
'start' : start,
'end' : end ,
},
success: function(request) {
result.innerHTML = request ;
} // End success
}); // End ajax method
EDIT I should have included that I understand how to loop through the selects selected options with this code:
$('#userid option').each(function(i) {
if (this.selected == true) {
but how do I fit that into my data: section?
how about using an array?
data: {
...
'select' : ['value1', 'value2', 'value3'],
...
},
edit: ah sorry, here's the code, a few caveats:
'select' : $('#myselectbox').serializeArray(),
in order for serializeArray() to work though, all form elements must have a name attribute. the value of 'select'
above will be an array of objects containing the name and values of the selected elements.
'select' : [
{ 'name' : 'box', 'value' : 1 },
{ 'name' : 'box', 'value' : 2 }
],
the select box to produce the above result would be:
<select multiple="true" name="box" id="myselectbox">
<option value="1" name="option1" selected="selected">One</option>
<option value="2" name="option2" selected="selected">Two</option>
<option value="3" name="option3">Three</option>
</select>
Thanks to the answer from @Owen, I got this code to work.
For a select box with an id="mySelect" multiple="true"
var mySelections = [];
$('#mySelect option').each(function(i) {
if (this.selected == true) {
mySelections.push(this.value);
}
});
$.ajax({
type: "post",
url: "http://myServer" ,
dataType: "text",
data: {
'service' : 'myService',
'program' : 'myProgram',
'selected' : mySelections
},
success: function(request) {
result.innerHTML = request ;
}
}); // End ajax method
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With