[英]PHP multiple select form how to use: if (taskOption[0] is selected)
HTML:
<select name="taskOption[]" multiple>
<option>first<br /></option>
<option>second<br /></option>
<option>third</ option>
</select>
PHP:
<?php
foreach ($_GET['taskOption'] as $selectedOption){
echo "lesson:".$selectedOption."<br>";}
?>
此php代碼僅顯示選定的選項。
如果選擇了選項,我該如何分別做某事? 例如
if (taskOption[0] is selected){
$x="1";
if (taskOption[1] is selected){
$y="1";
到目前為止,我嘗試過的部分成功是:
$options = array("", "", "");
foreach ($_GET['taskOption'] as $selectedOption)
echo "".$selectedOption."<br>";
if($selectedOption == 'first'){
$options[0] = "11";
echo $options[0];
}
elseif($selectedOption == 'second'){
$options[1] = "22";
echo $options[1];
}
elseif($selectedOption == 'third'){
$options[2] = "33";
echo $options[2];
}
但是當我選擇2+選項時我仍然有問題..(它只呼應最后一個選項)
您應該先將值添加到select標記中的選項中,以便可以輕松識別每個值。
<select name="taskOption[]" multiple>
<option value="one">first<br /></option>
<option value="two">second<br /></option>
<option value="three">third</ option>
</select>
之后,您應該刪除“ elseif”,然后簡單地對所有
$options = array("", "", "");
foreach ($_GET['taskOption'] as $selectedOption)
echo "".$selectedOption."<br>";
if($selectedOption == 'one'){
$options[0] = "11";
echo $options[0];
}
if($selectedOption == 'two'){
$options[1] = "22";
echo $options[1];
}
if($selectedOption == 'three'){
$options[2] = "33";
echo $options[2];
}
我正在維護您的代碼,但可以進行很多改進。 我不確定為什么要將這些值添加到數組($ options)。
您應該將value屬性添加到您的option元素中
<option value="first">first<br /></option>
<option value="second">second<br /></option>
<option value="last">third</option>
您沒有在foreach中包裝邏輯。
foreach ($_GET['taskOption'] as $selectedOption){
echo "selected: ".$selectedOption;
if($selectedOption === 'first'){
$options[0] = "11";
echo $options[0]."<br>";
}
elseif($selectedOption ==='second'){
$options[1] = "22";
echo $options[1]."<br>";
}
elseif($selectedOption ==='third'){
$options[2] = "33";
echo $options[2]."<br>";
}
echo"end";
}
您需要在邏輯中加上漩渦狀的括號,以確保下面的所有內容都能正常運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.