使用Post发送默认的Select2选项

时间:2016-08-24 22:04:20

标签: php jquery html

我花了一整天的时间试图找到答案而我却放弃了。这是我的问题,希望你能帮助我:

我需要从Select2到Post方法传递多个选项。直到这里我没有问题,如果我在Select2选项上一个接一个地选择它们,我按下提交,一切都按原样进行。

当页面加载时:我可以看到上次保存的选项的默认值,但如果我按下提交,而不从列表中选择任何内容,我希望相同的值将再次通过{{ 1}}方法,但没有...它变为空白,删除最后保存的选项。

换句话说,这件事有效的唯一方法就是我每次都选择一个选项(或多个选项),如果不这样做,则不会发送默认选项。

这是我的代码示例,因此您可以查看并给我一个手:

Post

在page2.php上我将 ..... <title>page1</title> <script type="text/javascript"> $(document).ready(function(){ $(".myselect").select2(); }); </script> </head> <body> <?php $previouschoice="This is one This is two"; //this variable is populated with a mysqli query. ?> <form method="post" action="page2.php"> <select id="test" class="myselect" name="mychoices[]" multiple="multiple"> <option value="<?php echo $previouschoice;?>" selected="selected"><?php echo $previouschoice;?></option> <option value="This is one">This is one</option> <option value="This is two">This is two</option> <option value="This is three">This is three</option> </select> </form> </body> 值存储到一个mysql数据库中,以便以后检索,抓取和连接一个变量中的数据,如下所示:

Post

所以$mypost =$_POST['mychoices']; foreach ($mypost as $a) { $mychoices=$mychoices.' '.$a; } 最终将$mychoices返回page1.php

还尝试了其他帖子中建议的initSelection,输出完全相同。这样做了:

$previouschoice

请帮忙!

1 个答案:

答案 0 :(得分:0)

我不确定我完全理解你的问题,但我会试一试。

  1. 您可以从选择,提交和检索中选择一些项目。
  2. 您可以在页面重新加载时阅读先前的选择
  3. 重新提交“忘记”选择,除非您再次选择相同的选项。
  4. 如果这对您有用,那么我会添加类似

    的内容
    <?php if(in_Array("This is one", $previousChoice) echo "selected">
    

    如有必要,您可以替换“这是一个”。这假设$ previousChoice当然是一个数组。

    这样,您首先选择的选项将自动重新选择,如果您再次提交表单,则应继续使用。

    韦恩