簡體   English   中英

我如何獲取選擇值而不是PHP中的選項值

[英]how do i get the select value not the option value in php

嗨,有人可以幫我解決我的問題。

我這里有一個html和php函數,我想要做的就是回顯一個選擇值而不是選項值

這是我的代碼Ouput:選擇並發送按鈕時,名稱為Patrick或任何名稱

<?php if(isset($_REQUEST['send'])){echo $_POST['test'];}?>
<form method="post">
<select name="test"><option value="1">Patrick</option><option value="2">Maria</option><option value="3">Fe</option></select><input type="submit" name="send" value="submit">
</form>
<?php if(isset($_REQUEST['send'])){echo $_POST['test'];}?>

將選項的值更改為要顯示的值

<form method="post">
    <select name="test">
        <option value="Patrick">Patrick</option>
        <option value="Maria">Maria</option>
        <option value="Fe">Fe</option>
    </select>
    <input type="submit" name="send" value="submit">
</form>

//將$ row ['id']更改為$ row ['name']

<?php $q = mysql_query("select * from name");?>
   while($row = mysql_fetch_assoc($q)){ 
     echo '<option value='.$row['name'].'>'.$row['name'].'</option>' ;
}

//確定要在選項值中使用id。在提交代碼中獲得表檢查的名稱

<?php if(isset($_REQUEST['send'])){$id=$_POST['test'];
$q = mysql_query("select * from name where id=$id");
$row = mysql_fetch_assoc($q);
echo $row['name'];
}

?>
<?php $q = mysql_query("select * from name");
      while($row = mysql_fetch_assoc($q)){ 
        echo '<option value='.$row['id'].'>'.$row['name'].'</option>' ;
}?>

select的值將是所選的任何選項。 如果我選擇Maria,您將看到顯示2。

    <table cellpadding="3" cellspacing="3" align="center" width="50%">
        <tr>
            <td>
            <select name="user" id="user_id" onChange="selectuser()">
                <option value="0">Select User</option>
                <option value="1">Patrick</option>
                <option value="2">Maria</option>
                <option value="3">Fe</option>
            </select>
            </td>
        </tr>
    </table>

    <script language="javascript">
    function selectuser()
    {
        var name = $("#user_id option:selected").text();
        alert(name);
    }

在“ 1_Patrick”這樣的選項中指定值

<?php if(isset($_REQUEST['send'])){
          $value = explode('_',$_POST['test']);
          echo $value[1];
         }

?>

<form method="post">
<select name="test"><option value="1_Patrick">Patrick</option><option value="2_Maria">Maria</option><option value="3_Fe">Fe</option></select><input type="submit" name="send" value="submit">
</form>

當您發布任何表單時,包含在該字段的value attribute中的數據將被發布。

因此,您可以將值數據更改為所需的值,例如value =“ Patrik”

正如您所說的,將數字數據添加到值背后是有目的的,那么我的建議是將此數字數據添加到其他自定義屬性中,例如data-customid="1"等,然后更改value="Patrick"

您可以在選項值中添加自定義屬性。

有關詳細信息,請參考此鏈接

純js:

DEMO

document.addEventListener('DOMContentLoaded', function() {

  document.querySelector('select').addEventListener('change', function() {
      alert(this.options[this.selectedIndex].innerText);
  }, false);

}, false);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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