To allow multiple selection the parameter name must be an array

<SELECT NAME="cats[]" id="cats" class="cats">
<OPTION value="1">1</OPTION>
<OPTION value="2">2</OPTION>
</SELECT>

Notice the array braces [] following the name parameter. Without them
the parameter can only hold one item at a time.

On the server side you'll need to process cats as an array:

$cats = array();

$cats = $_POST['cats'];

foreach($cats as $cat)
{
   // do something with each cat here
}

Hope this helps



On Jan 4, 2:52 pm, ChrisMc <man...@limani-design.co.uk> wrote:
> Hello,
>
> I have a form with multi select field like so:
>
> <SELECT NAME="cats" id="cats" class="cats">
> <OPTION value="1">1</OPTION>
> <OPTION value="2">2</OPTION>
> ...
> </SELECT>
>
> If I'm passing one value script works, but if I have multiple options,
> it only gets me last in array.
>
> jquery script working this out like:
> $(document).ready(function()
> {
> $("#cats").blur(function(){
>         alert($(this).val()); //this shows ok (ex. "1,2,3")
>
>         $.post("user_availability.php",{ cats: $(this).val
> () } ,function(data)
>         {
>             alert(data); // this returns only ex. "3"
>         });
> ...
>
> user_availability.php only takes passed data echo's for the sake of
> simplicity in this case. and the echo is the same as in  alert(data)-
> that is "3".
>
> Help me please. I'm new to jquery and I need to maintain the same
> structure as shown as I have already done this form for 7 more fields,
> so a lot of work put in.

Reply via email to