How to pass php array on select change in jQuery?

Let me tell you briefly what I am doing.

I am doing pagination using a library where the page only shows 3 <li>

. and what i do on this <li>

i have a php array with me and i create a table in this <li>

that each <li>

will have a table with 8 rows to display the 8 elements of the array with php code.

This is the code.

    <?php
        $data = array();
        $no_of_Items = 8;
        $k = 1;

        for ($i = 1; $i <= 100; $i++) {
            $data[$i - 1] = "striker" . $i;
        }
        ?>
    <select id="view" >
        <option value="1">Midfielder</option>
        <option value="2">Striker</option>
        <option value="3">Defender</option>
        <option value="4">Goal-Keeper</option>
    </select>

<div id="pagination">
     <ul id="demo">
         <?php
             $lis = ceil(count($data) / $no_of_Items);

              for ($i = 1; $i <= $lis; $i++) {
          ?>
          <li>
              <table  id="tbl-li">
                  <?php
                      for ($j = 1; $j <= $no_of_Items; $j++) {
                           if (empty($data[$k - 1])) {
                               break;
                            }
                  ?>
                  <tr style="padding: 0; margin: 0;">
                       <td><?php echo $data[$k - 1]; ?></td>
                       <td>CHE</td>
                       <td>11.5</td>
                       <td>142</td>
                 </tr ><?php $k++; } ?>
             </table>
           </li>
           <?php } ?>
      </ul>
    </div>

      

so now I just pass one array to the paginated div, but I have 4 arrays for the guard as well as for the whole element contained in the select tag.

So my last question is how do I expose my php code when I select the appropriate option from the select?

I've tried this, but I know it won't work, so any suggestion or in some other way?

My js

    var selectval;
                    $('#view').on('change', function () {
                        selectval = $(this).val();
                    });

                    if (selectval === 1)
                    {
<?php
for ($i = 1; $i <= 100; $i++) {
    $data[$i - 1] = "midfielder" . $i;
}
?>
                    }
                    else if (selectval === 2) {
<?php
for ($i = 1; $i <= 100; $i++) {
    $data[$i - 1] = "striker" . $i;
}
?>
                    }
                    else if (selectval === 3) {
<?php
for ($i = 1; $i <= 100; $i++) {
    $data[$i - 1] = "defender" . $i;
}
?>
                    }
                    else if (selectval === 3) {
<?php
for ($i = 1; $i <= 100; $i++) {
    $data[$i - 1] = "goalkeeper" . $i;
}
?>
                    }

      

+3


source to share


1 answer


Try it, it will work.



$('#view').select(function(){   
                    var valselect = $('#view').val();
                        console.log(valselect);
                        var data = [];
                        var i, j, k = 1;
                        var code = '';
                        var no_item = 8;


                        if (valselect === "1")
                        {
                            for (i = 1; i <= 50; i++) {
                                data[i - 1] = "Midfielder" + i;

                            }
                            console.log(data);
                        }
                        else if (valselect === "2")
                        {

                            for (i = 1; i <= 50; i++) {
                                data[i - 1] = "Striker" + i;
                            }
                            console.log(data);
                        }
                        else if (valselect === "3")
                        {
                            for (i = 1; i <= 50; i++) {
                                data[i - 1] = "Defender" + i;

                            }
                            console.log(data);
                        }
                        else if (valselect === "4") {
                            for (i = 1; i <= 50; i++) {
                                data[i - 1] = "Goal-keeper" + i;

                            }
                            console.log(data);
                        }



                        var lis = Math.ceil(data.length / no_item);


                        console.log(lis);

                        for (i = 1; i <= lis; i++)
                        {
                        console.log("outerloop="+i);
                            code += "<li><table id='tbl-li'>";

                            for (j = 1; j <= no_item; j++) {
                            console.log("j=" + j);

                                if (data[k - 1])
                                {
//                                console.log("k=" + k);
                                    code += "<tr><td><img src='/img/info.png'>" + data[k - 1] + "</td><td>CHE</td><td>11.5</td><td>142</td></tr>";
                                    k++;
                                }
                                else {
//                                console.log("val k=="+k);
                                    break;
                                }
                            }
                            code += "</table></li>";
                        }

//                    console.log(code);

//                        $('#demo').append();
                        $('#demo').html(code);
                    });

      

+2


source







All Articles