Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中创建select选项名而不是值的变量_Php - Fatal编程技术网

在php中创建select选项名而不是值的变量

在php中创建select选项名而不是值的变量,php,Php,我有一个select字段,我正在使用我的选项值作为变量进行进一步的工作,但我想为我的选项名称创建第二个变量,以便在其他地方使用。 这是我的表格 <form action="second.php" method="post" class="form"> Client:<select class="default" id="client" name="client" required> <option value="" selected&

我有一个select字段,我正在使用我的选项值作为变量进行进一步的工作,但我想为我的选项名称创建第二个变量,以便在其他地方使用。 这是我的表格

<form action="second.php" method="post" class="form">
        Client:<select class="default" id="client" name="client" required>
        <option value="" selected>Select Client</option>
        <option value="clienta" name"Client A">Client A</option>
        <option value="clientb" name "Client B">Client B</option>
</select>
</form>

我不知道如何获取客户端的名称而不是值。 我试过:

$client_name = $_POST["client.name"];
$client_name = $_POST["client[name]"];
$client_name = $_POST["client(name)"];
但是这些都不起作用,当我想返回选项的名称时,它们都返回为空。 客户A而不是客户A


有人知道我如何进入name字段而不是select中的值吗?

您不需要添加属性名称元素:


如果您同时需要值和名称。归档的最佳方式是将它们在价值上结合起来

<?php

if (isset($_POST['client']))
{
$pair = explode("/", $_POST["client"]);

$name   = $pair[0];
$value = $pair[1];

print "Key: $name<br />";
print "Value: $value<br />";
}
?>

<form method="post" action="" name="form">
<select name="client">
    <option value="clienta/Client A">Client A</option>
    <option value="clientb/Client B">Client B</option>
</select>
<input name="submit" type="submit">
</form>
使用如下代码

second.php


})

您不能在选项中使用名称,只能获取值,因此根据需要在另一侧创建数组并获取所需的正确名称的值。因此,单次选择无法完成。“有人知道我如何获取名称字段而不是选择中的值吗?”-通过使用值查找名称…?显然,服务器端的名称和值都是可用的,否则首先无法创建此选择字段-因此将名称粘贴到数组中,使用值作为键…类似的内容。另一个选项是将名称和值组合成一个字符串,该字符串可以用作值属性内容,然后您必须在服务器端再次将两者分开。我知道,在single select中,它不起作用。不幸的是,我需要不同内容的值和名称。单次选择可能不可能。我已经得到了那个位,我希望得到两个变量,值和名称,似乎单次选择是不可能的。
<form action="second.php" method="post" class="form">
        Client:<select multiple="multiple" class="default" id="client" name="client[]" required>
        <option value="" selected>Select Client</option>
        <option value="ClientA">Client A</option>
        <option value="ClientB">Client B</option>
</select>
</form>
$clients = $_POST['client']; // will be array with selected options
<?php

if (isset($_POST['client']))
{
$pair = explode("/", $_POST["client"]);

$name   = $pair[0];
$value = $pair[1];

print "Key: $name<br />";
print "Value: $value<br />";
}
?>

<form method="post" action="" name="form">
<select name="client">
    <option value="clienta/Client A">Client A</option>
    <option value="clientb/Client B">Client B</option>
</select>
<input name="submit" type="submit">
</form>
<html>
   <head>
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
   </head>
   <body>
       <form class="form-horizontal" action="#">
           <div class="form-group">
              <label class="control-label col-sm-2" for="client">Client:</label>
              <div class="col-sm-6">
                  <select class="form-control" id="client" name="client" required>
                      <option value="" selected>Select Client</option>
                      <option value="clienta" name="Client A">Client A</option>
                      <option value="clientb" name="Client B">Client B</option>
                   </select>
               </div>
           </div>

          <div class="form-group">
              <div class="col-sm-offset-2 col-sm-10">
                 <input type="button" class="btn btn-default" id="submit_btn" name="submit_btn" value="Submit">
              </div>
         </div>
      </form>
   </body>
</html>

<script>
   $('#submit_btn').on('click', function(){
     var option_value = $('#client').val();
     var option_name = $('#client').find('option:selected').attr('name');
     $.ajax({
       type:"post",
       url:"second.php",
       data:"option_value="+option_value+"&option_name="+option_name,
       success: function(data){
         console.log(data);
       }
     });
   });
</script>
<?php
    echo $option_value = $_POST['option_value'];
    echo $option_name = $_POST['option_name'];
?>
<form action="second.php" method="post" class="form">
    Client:<select class="default" id="client" data-name="client" required>
    <option value="" selected>Select Client</option>
    <option value="clienta" data-name="Client A">Client A</option>
    <option value="clientb" data-name="Client B">Client B</option>
    <input type="button" id ="button" value="send">
$(document).ready(function(){

$('#button').click(function(){

    $.ajax({
        type: 'POST',
        url: 'second.php',
        data: {'clinet_val':$('#client').val(),'clinet_name':$('#client').find(':selected').data('name')},
        success:function(response)
        {
            console.log(response);
        }

    });
});