簡體   English   中英

PHP多重選擇表單的用法:如果(選擇taskOption [0])

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM