当使用 PHP 选择值“other”时,如何显示 HTML 输入字段

2024-01-27

我想弄清楚的是如何拥有一个 htmlinput当值为other从下拉菜单中选择。现在,下拉列表的值来自 MySQL DB 查询的结果,该查询有效,但我似乎无法弄清楚当我选择其他选项时如何显示输入。

$query = mysql_query("SELECT type FROM Dropdown_Service_Type"); // Run your query

        echo '<select name="service_type">'; // Open your drop down box

        echo '<option value="NULL"></option>';
        // Loop through the query results, outputing the options one by one
        while ($row = mysql_fetch_array($query)) {
         echo '<option value="'.$row['type'].'">'.$row['type'].'</option>';
        }
         echo '<option value="Other">Other</option>';
        echo '</select>';// Close your drop down box

使用 javascript,如下面的示例所示。我们可以添加一个input https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input字段并默认隐藏它,使用style属性:<input name='otherInput' id='otherInput' type="text" style="display: none" />

var otherInput;
function checkOptions(select) {
  otherInput = document.getElementById('otherInput');
  if (select.options[select.selectedIndex].value == "Other") {
    otherInput.style.display = 'block';
    
  }
  else {
    otherInput.style.display = 'none';
  }
}
<select onchange="checkOptions(this)" name="service_type" id="service_type">
  <option value="NULL"></option>
  <option value="43">43</option>
  <!-- other options from your database query results displayed here -->
  <option value="Other">Other</option>
</select>
<!-- the style attribute here has display none initially, so it will be hidden by default -->
<input name='otherInput' id='otherInput' type="text" style="display: none" />

有 3rd 方库,例如jQuery http://api.jquery.com/、AngularJS、PrototypeJS 等,它们可以通过添加 DOM 操作的快捷方法来使代码更简单(尽管你应该阅读这个帖子 https://blog.garstasio.com/you-dont-need-jquery/why-not/)。例如,对于 jQuery,使用.on() http://api.jquery.com/on/(对于事件处理程序绑定),.show() http://api.jquery.com/show/ and .hide() http://api.jquery.com/hide/用于输入显示切换等:

var otherInput;
var serviceTypeInput = $('#service_type');
serviceTypeInput.on('change', function() {
  otherInput = $('#otherInput');
  if (serviceTypeInput.val() == "Other") {
    otherInput.show();
  } else {
    otherInput.hide();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="service_type" id="service_type">
  <option value="NULL"></option>
  <option value="43">43</option>
  <option value="Other">Other</option>
</select>
<input name='otherInput' id='otherInput' type="text" style="display: none" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当使用 PHP 选择值“other”时,如何显示 HTML 输入字段 的相关文章

随机推荐

  • “Android Library Update” Eclipse 任务在启动时随机卡住了我的 Eclipse

    它卡在 项目 的清理输出文件夹中 它并不总是同一个项目 那么有什么解决方法吗 我尝试了清理项目的方法 但是库更新发生得太快 我什至为 Clean 分配了一个自定义键盘快捷键 但在它开始之前我仍然无法将其放入其中 我真的不想删除 metada
  • 面临 django 中的用户配置文件 url 方案(例如 example.com/username)的问题

    在 django 应用程序中 我需要创建具有以下结构的 twitter 用户个人资料 url 例如 example com
  • 如何以编程方式从ios7设备获取未更改的设备ID

    我需要获取唯一的设备 ID 来填充数据库中的唯一用户 ID 我使用以下代码来实现这一点 NSString strApplicationUUID UIDevice currentDevice identifierForVendor UUIDS
  • Linux中的系统调用是如何实现的?

    当我在用户模式下调用系统调用时 操作系统如何处理该调用 它是否调用一些可执行二进制文件或一些标准库 如果是的话 需要什么样的东西才能完成呼叫 看一下this http manugarg googlepages com systemcalli
  • 推送到生产服务器时 ASP.NET MVC 错误 500

    我正在 C 项目中开发 ASP NET MVC 4 该项目在我的本地开发服务器上运行良好 但是 当我将其推送到生产服务器时 特定页面会出现 500 内部服务器错误 但是 我收到的错误并不比 处理您的请求时发生错误 更有帮助 如何强制 ASP
  • 如何在 PHP 中使用正则表达式解析 Apache 日志

    我正在尝试在 PHP 中分割这个字符串 11 11 11 11 25 Jan 2000 14 00 01 0100 GET 1986 js HTTP 1 1 200 932 http domain com index html Mozill
  • Xml - 使用Python按标签查找元素[重复]

    这个问题在这里已经有答案了 我正在尝试从一堆 xml 文件中提取一些数据 现在的问题是所有文件的结构并不完全相同 因此 仅迭代子文件并提取值是很困难的 有没有getElementByTag python 处理此类 xml 文档的方法 我发现
  • MATLAB 中的统计异常值检测

    假设我们有这个矩阵 main 10000 5 3 1 5 5677 0 134 1 1 456 3 该方法是计量经济学和统计问题中使用最广泛的方法 X是我们正在寻找异常值的数据 X mean X gt n std X 因此 如果这个不等式成
  • 仅在启动时无法找到运行时版本?

    我有一个非常简单的控制台应用程序 只是一个Console Write 来测试一些启动功能 我将其放在 Window 7 的启动文件夹中 但当它运行时 我收到 无法找到运行此应用程序的运行时版本 奇怪的是 如果我进入启动文件夹并实际运行该程序
  • 如何在keras批量更新期间缩放梯度?

    我正在使用标准 keras 模型 并且正在批量训练 使用train on batch功能 现在 我想获取批次中每个元素的梯度并对其进行缩放 将每个样本梯度与我拥有的样本特定值相乘 并且在缩放每个梯度后 可以将其求和并用于更新现有权重 无论如
  • HTML 输入 type="password" 的 Windows 批处理等效项是什么?

    我需要在 Windows 脚本中从用户那里获取身份验证凭据 但采用经典的 第一个 Google 结果 方法 SET P USR Username SET P PWD Password 不太令人满意 所以我想知道是否有一个 等价物 HTML
  • 帮我解决我的 JavaScript 测验 [已关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我已经参加这个测验很多年了 只是无法
  • 从 std::vector 中连续擦除的安全方法?

    我认为下面的代码可以工作 但是当目标小部件位于向量末尾时它会崩溃 for std vector
  • 试图推迟我的部分计划

    我试图拍摄我打开的网页的快照 但我需要延迟代码的第二部分 以便程序有时间打开页面 这是代码 import os import sys import time import Image import ImageGrab import webb
  • MSBuild - 它可以计算出解决方案文件中的项目依赖关系吗?如果是这样怎么办?

    我有一个 msbuild 项目 它从 Visual Studio 构建一个 SLN 文件 其中包含所有项目 大约 70 多个项目 并且许多项目相互依赖 这意味着它们需要按顺序构建 有时开发人员会忘记在解决方案文件中的 Visual Stud
  • javascript 中函数声明后的冒号[重复]

    这个问题在这里已经有答案了 我正在查看 Vue js 的源代码 在几乎所有的函数声明中 我找到了一种定义函数的新方法 function isStringStart chr number boolean return chr 0x22 chr
  • 如何在leiningen项目中打包资源

    在示例项目中 https github com technomancy leiningen blob master sample project clj https github com technomancy leiningen blob
  • Anaconda提示加载错误:输入行太长

    我在 Windows 7 64 位版本上安装了 Anaconda 64 python 2 7 安装后 anaconda提示符可以正常启动 但是每当我重新启动 关闭并重新启动笔记本电脑时 anaconda提示符都会显示以下错误消息 并且某些p
  • 自动镜像 GitHub 存储库

    我怀疑这个问题以前曾被问过 尽管我能找到的都是相似但不同的问题 或者是相同的问题 但只有不适合我的解决方案 GitHub 上有一个我无法控制但想要镜像的存储库 对于镜像 我的意思是拥有一个自动更新的克隆 我希望这个镜像也能出现在 GitHu
  • 当使用 PHP 选择值“other”时,如何显示 HTML 输入字段

    我想弄清楚的是如何拥有一个 htmlinput当值为other从下拉菜单中选择 现在 下拉列表的值来自 MySQL DB 查询的结果 该查询有效 但我似乎无法弄清楚当我选择其他选项时如何显示输入 query mysql query SELE