我花了整天試圖找到答案,我只是放棄了。這裏是我的問題,希望你能幫助我:發送郵件的默認選擇2選項
我需要通過多個選擇從Select2通過Post
方法。直到這裏,如果我在Select2選項中逐一選擇它們,我沒有任何問題,我按提交,所有事情都按照它的順序進行。
事情是當頁面加載時:我可以看到最後一個保存的選項的默認值,但如果我按提交,沒有從列表中選擇任何東西,我期望相同的值將通過Post
方法,但沒有...它在空白處,刪除保存的最後一個選項。
換句話說,這件事的唯一方法是每次選擇一個選項(或多個選項),如果我不選擇,則不會發送默認選項。
Here's我的代碼的例子,所以你可以檢查出來,並給我一個手:
.....
<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>
在page2.php中將我的Post
值存儲到一個MySQL數據庫以供稍後檢索,抓取和在一個可變的串聯數據,就像這樣:
$mypost =$_POST['mychoices'];
foreach ($mypost as $a) {
$mychoices=$mychoices.' '.$a;
}
所以$mychoices
最終將$previouschoice
回到page1.php中
還嘗試了其他帖子中建議的initSelection,使用完全相同的輸出。這是:
$(".myselect").select2().select2("val", null);
$('#test').val('<?php echo $previouschoice;?>').trigger('change');
請幫忙!
我不明白你的問題是什麼,你可以有另一種嘗試解釋 – RiggsFolly
我會通過改變'NAME =「mychoices []」啓動'爲'NAME =「mychoices」'因爲我認爲這會在數組內部生成一個數組,這可能會令人困惑 – RiggsFolly
但是,如果您想知道在$ _POST數組中發送的內容,請在代碼中添加一個'print_r($ _ POST);'並將其轉儲讀取格式 – RiggsFolly