从PHP中的下拉列表中获取选定文本

从PHP中的下拉列表中获取选定文本,php,html,wordpress,forms,Php,Html,Wordpress,Forms,我对PHP完全是新手,事实上我这么做的原因是定制一个wordpress插件,这样它就可以满足我的需要。到目前为止,我有一个默认表单,我现在做的是添加一个国家下拉列表。下面是我如何添加它的 <div class="control-group"> <label class="control-label" for="Country">Country :</label> <div class="controls"> <

我对PHP完全是新手,事实上我这么做的原因是定制一个wordpress插件,这样它就可以满足我的需要。到目前为止,我有一个默认表单,我现在做的是添加一个国家下拉列表。下面是我如何添加它的

<div class="control-group">
    <label class="control-label" for="Country">Country :</label>
    <div class="controls">
        <select id="itemType_id" name="cscf[country]" class="input-xlarge">
            <option value="malaysia@email.com">Malaysia</option>
            <option value="indonesia@email.com">Indonesia</option> 
        </select>   
        <span class="help-inline"></span>
    </div>  
</div>
在这种情况下,如何获取显示文本,即国家名称?

请像这样尝试

<?php
   if(isset($_POST['save']))
   {
      //Let $_POST['cscf']['country']= malaysia@email.com
      // you can explode by @ and get the 0 index name of country
      $cnt=explode('@',$_POST['cscf']['country']);
      if(isset($cnt[0]))// check if name exists in email
         echo ucfirst($cnt[0]);// will echo Malaysia
   }
?>

<form method="post">
    <div class="controls">
        <select id="itemType_id" name="cscf[country]" class="input-xlarge">
            <option value="malaysia@email.com">Malaysia</option>
            <option value="indonesia@email.com">Indonesia</option> 
        </select>   
        <span class="help-inline"></span>
    </div>
    <div class="controls">
        <input type="submit" name='save' value="Save"/>   
        <span class="help-inline"></span>
    </div>
</form>

马来西亚
印度尼西亚
试试这个

<?php
   if(isset($_POST['save']))
   {
       $arrayemail = $_POST['cscf'];
       $mail =  $arrayemail['country'];
       $explode=explode('@',$mail);
      // print_r($explode);
        if(isset($explode[0]))
         echo ucfirst($explode[0]);     

   }
?>

<form method="post">
    <div class="controls">
        <select id="itemType_id" name="cscf[country]" class="input-xlarge">
            <option value="malaysia@email.com">Malaysia</option>
            <option value="indonesia@email.com">Indonesia</option> 
        </select>   
        <span class="help-inline"></span>
    </div>
    <div class="controls">
        <input type="submit" name='save' value="Save"/>   
        <span class="help-inline"></span>
    </div>
</form> 

马来西亚
印度尼西亚

您可以使用隐藏字段,使用JavaScript和jQuery,您可以在下拉列表的选定值更改时设置此字段的值

<select id="itemType_id" name="cscf[country]" class="input-xlarge">
  <option value="malaysia@email.com">Malaysia</option>
  <option value="indonesia@email.com">Indonesia</option> 
</select>
<input type="hidden" name="country" id="country_hidden">

<script>
  $(document).ready(function() {
    $("#itemType_id").change(function(){
      $("#country_hidden").val(("#itemType_id").find(":selected").text());
    });
  });
</script>

如果你想在另一个页面上删除值,那么你需要表单,这样你就可以使用GET/POST方法将值从表单发送到另一个页面。你能用if-else处理它吗?但这不是最好的方法。您仍然无法获取显示的文本,只有值。您可以像
malaysia@email.com|马来西亚
然后是
列表($value,$text)=分解(“|”),$_POST['cscf']['country']);echo$文本
帖子不需要是
$cnt=explode('@',$\u post['cscf']['country'])@Casey,谢谢。这个答案只有在我遵循你的建议的情况下才会奏效suggestion@Rohan,只有当电子邮件地址始终采用以下格式时,您当前的答案才有效
@email.com
。如果电子邮件地址的格式不同,我将无法获取国家信息。我认为这是迄今为止最简单的方法。
<select id="itemType_id" name="cscf[country]" class="input-xlarge">
  <option value="malaysia@email.com">Malaysia</option>
  <option value="indonesia@email.com">Indonesia</option> 
</select>
<input type="hidden" name="country" id="country_hidden">

<script>
  $(document).ready(function() {
    $("#itemType_id").change(function(){
      $("#country_hidden").val(("#itemType_id").find(":selected").text());
    });
  });
</script>
$_POST["country"]
<select name="text selection" onchange="getText(this)">
  <option value="">Select text</option>
  <option value="1">my text 1</option>
  <option value="2">my text 2</option>
</select>
<script>
  function getText(element) {
  var textHolder = element.options[element.selectedIndex].text
  document.getElementById("txt_holder").value = textHolder;
  }
</script>
<input type="" name="txt_holder" id="txt_holder"> type should be hidden
$variableName=$_POST['txt_holder'];