根据下拉值自动填充文本框

Posted

技术标签:

【中文标题】根据下拉值自动填充文本框【英文标题】:Auto fill text box depending on Drop Down value 【发布时间】:2012-10-31 22:35:59 【问题描述】:

这可能是一个愚蠢的问题,但我想澄清一下如何解决这个问题。我遇到过很多文章,它们可以根据使用 jQuery 和 Ajax 在下拉菜单中所做的选择来设置文本框的值。我的问题是当我尝试根据 5 个下拉菜单中的选择做同样的事情时。我将 Id 值存储在数据库中,该值应用于填充文本框。任何人都可以指导如何通过多个下拉菜单解决这个问题。到目前为止,这是我的代码:

    <?php
     $sql1="SELECT Schlungen  FROM schulung as s"; 
     $result=mysql_query($sql1); 
     echo "<p align='left'> <strong>Schulung 1</strong> <select name='Schlungen1'>           <option value default></option>";
     while ($row = mysql_fetch_array($result)) 
     
     echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . "   </option>";
      
      echo "</select>";
      ?>

      <?php
      error_reporting(0);
      //Drop Down for Schulung 2
      $sql2="SELECT Schlungen  FROM schulung as s"; 
      $result=mysql_query($sql2); 
      echo "<p align='left'> <strong>Schulung 2</strong> <select name='Schlungen2'>  <option value default></option>";
      while ($row = mysql_fetch_array($result)) 
      
      echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . " </option>";
       
      echo "</select>";
      ?>


      <?php
      error_reporting(0);
      //Drop Down for Schulung 3 
      $sql3="SELECT Schlungen  FROM schulung as s"; 
      $result=mysql_query($sql3); 
      echo "<p align='left'> <strong>Schulung 3</strong> <select name='Schlungen3'> <option value default></option>";
      while ($row = mysql_fetch_array($result)) 
      
      echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . "</option>";
       
      echo "</select>";
      ?>

      <?php
      error_reporting(0);
      //Drop Down for Schulung 4 
      $sql4="SELECT Schlungen  FROM schulung as s"; 
      $result=mysql_query($sql4); 
      echo "<p align='left'> <strong>Schulung 4</strong> <select name='Schlungen4'><option value default></option>";
      while ($row = mysql_fetch_array($result)) 
      
      echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . " </option>";
       
      echo "</select>";
      ?>

      <?php
      error_reporting(0);
      //Drop Down for Schulung 5  
      $sql5="SELECT Schlungen  FROM schulung as s"; 
      $result=mysql_query($sql5); 
      echo "<p align='left'> <strong>Schulung 5</strong> <select name='Schlungen5'><option value default></option>";
      while ($row = mysql_fetch_array($result)) 
      
      echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . " </option>";
      
      echo "</select>";
      ?>   
      <p align="left"><strong>Access_level </strong> 
      <input type="text" name="a_level" disabled="disabled">
      </p>

    

【问题讨论】:

你能告诉我输出的样子吗? 【参考方案1】:

为了实现自动完成,您可以在 html 文件中创建一个选择字段,在 keyup 事件上调用 javascript 函数并使用 jQuery 调用您的 php 文件

<html>
<head>
    <script>
        $('.autosuggest').keyup(function()
         $.post("<your file.php>",any data you need,function(data)
          //echo the data
        //echo "<option value='" . $row['Schlungen'] . "'>" . //$row['Schlungen'] ."   </option>";
        $('.result').html(data)

);
        );
        $('.result option').click(function()
            var rValue = $(this).text();
            $('.autosuggest').attr('value',rValue);        
            $('.result').html('');
        );

    </script>
</head>
<body>
    <input type='text' class='autosuggest'/>
    <select class='result'>
    </select>
</body>
</html>

【讨论】:

【参考方案2】:

尝试将每个 html 选择选项的值设置为该文本的 id

所以回声应该是

echo "<option value='" . $row['id'] . "'>" . $row['Schlungen'] . " </option>";  

然后在 html 上选择添加事件 onchange 并添加 JS 函数 foo() 通过使用 JQuery 或 Javascript 从页面获取所有选定的 id 来填充隐藏的输入

您还必须为每个 html 选择添加 id 或类以轻松获取其选定值

$("#select1").val();
$("#select2").val(); ...

然后将这些值插入隐藏输入字段中,以便隐藏输入现在包含所有选定的 id

【讨论】:

以上是关于根据下拉值自动填充文本框的主要内容,如果未能解决你的问题,请参考以下文章

MVC 4,选择自动完成值时如何填充 3 个文本框?

从 MySQL 数据库填充文本框/下拉列表

显示rest api json响应,如使用angular js的文本框自动填充

如何使 PDF 中的下拉表单自动填充文本框 [Bluebeam]

MS Access:如何使此文本框根据查询自动填充值?

根据组合框选择填充文本框