javascript - 如何在 jQuery 中更改选择时传递 php 数组?

标签 javascript php jquery html arrays

让我简要地告诉你我在做什么..

我正在使用一个库进行分页,其中分页仅显示 3 <li>一次。 以及我在做什么 <li>我有一个 php 数组,我正在其中创建一个表 <li>每个<li>将有 8 行的表,因此数组的 8 个元素已在 php 代码的帮助下显示。

这是代码。

    <?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>

所以我现在所做的只是将一个数组传递给分页 div,但我有 4 个数组用于防御者以及 select 标记中包含的所有项目。

所以我的最后一个问题是,当我从 select 中选择适当的选项时,如何向我的代码提供 php?

我试过了,但我知道这行不通,所以有什么建议或其他方法吗?

我的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;
}
?>
                    }

最佳答案

试试这个它会工作..

$('#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);
                    });

关于javascript - 如何在 jQuery 中更改选择时传递 php 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30135838/

相关文章:

php - Symfony liipimaginebundle : set request context scheme to https

php - 上传文件然后将其复制到两个不同的目录?

javascript - 将鼠标悬停在单元格上时,在表格单元格 (td) 的工具提示上获取表格标题 (th)

javascript - mongodb更新不会立即更新

javascript - 处理回调选项在 jQuery 文件上传中不起作用

javascript - Rails 复选框隐藏字段类

php - JavaScript 正则表达式在 PHP 中不起作用

jquery - 如何克隆 jQuery 中不包括数据的元素事件?

javascript - jQuery 工具提示 + ajax 内容

javascript - Semantic-ui-react 库不起作用;没有错误