仅当使用 html 和 php 在先前的表单控件上选择值时才显示表单控件
show form-control only when value chosen on previous form-control with html and php
我正在创建一个带有源控件的网页(本例中为 2 个)。
我的代码如下:
<body>
<div class="option_choice_global">
Select your options
<div class="col-xs-2">
<label> Application </label>
<select class="form-control" id="application">
<?php
$applications = get_apps();
foreach ($applications as $key => $value) { echo '<option value='.$key.'>'.$value.'</option>'; }
?>
</select>
</div>
<div class="col-xs-1">
<label> Version </label>
<select class="form-control" id="version">
<?php
$versions = get_versions();
foreach ($versions as $key => $value) { echo '<option value='.$key.'>'.$value.'</option>'; }
?>
</select>
</div>
<div class="col-xs-12">
<button type="submit" class="btn btn-default" onclick="fonction_submit_graph(this)"> <b> Submit </b> </button>
</div>
</div>
</body>
但我希望第二个(版本)仅在第一个控制器(应用程序)上选择了一个值时出现。然后我的函数 get_versions() 将取决于所选的应用程序:get_versions(application_number).
如何才能仅在选择第一个控制器上的值时才显示第二个控制器?并获得选定的值?
谢谢!
如果我没理解错的话,您想在从第一个下拉列表中选择一个值后显示第二个 select
下拉列表。
这可以通过 JavaScript 和 CSS 轻松完成:
- 在第二个
select
标签中,添加这些属性:style="{display: none;}"
。这将隐藏下拉菜单。也给它id="select2"
方便识别
- 在第一个
select
标记中,添加此属性:onchange=showHiddenSelect();
这会导致在值更改时调用函数,即选项被 selected。也给它一个 id="select1"
.
- 在文档的某处,定义
showHiddenSelect
函数,如下所示:
函数 showHiddenSelect() {
document.getElementById("select2").style.display="block";
}
如果您还希望获得 selected 值,只需在该函数中添加以下内容:var select1value = document.getElementById("select1").value;
并使用它执行您想要的操作。
如果您需要将 select1
中的 selected 选项发送到后端,然后用于计算 select2
的选项,那么您最好的选择是使用AJAX 从脚本发送和接收数据,然后用 JavaScript.
填充 select
我正在创建一个带有源控件的网页(本例中为 2 个)。 我的代码如下:
<body>
<div class="option_choice_global">
Select your options
<div class="col-xs-2">
<label> Application </label>
<select class="form-control" id="application">
<?php
$applications = get_apps();
foreach ($applications as $key => $value) { echo '<option value='.$key.'>'.$value.'</option>'; }
?>
</select>
</div>
<div class="col-xs-1">
<label> Version </label>
<select class="form-control" id="version">
<?php
$versions = get_versions();
foreach ($versions as $key => $value) { echo '<option value='.$key.'>'.$value.'</option>'; }
?>
</select>
</div>
<div class="col-xs-12">
<button type="submit" class="btn btn-default" onclick="fonction_submit_graph(this)"> <b> Submit </b> </button>
</div>
</div>
</body>
但我希望第二个(版本)仅在第一个控制器(应用程序)上选择了一个值时出现。然后我的函数 get_versions() 将取决于所选的应用程序:get_versions(application_number).
如何才能仅在选择第一个控制器上的值时才显示第二个控制器?并获得选定的值? 谢谢!
如果我没理解错的话,您想在从第一个下拉列表中选择一个值后显示第二个 select
下拉列表。
这可以通过 JavaScript 和 CSS 轻松完成:
- 在第二个
select
标签中,添加这些属性:style="{display: none;}"
。这将隐藏下拉菜单。也给它id="select2"
方便识别 - 在第一个
select
标记中,添加此属性:onchange=showHiddenSelect();
这会导致在值更改时调用函数,即选项被 selected。也给它一个id="select1"
. - 在文档的某处,定义
showHiddenSelect
函数,如下所示: 函数 showHiddenSelect() { document.getElementById("select2").style.display="block"; }
如果您还希望获得 selected 值,只需在该函数中添加以下内容:var select1value = document.getElementById("select1").value;
并使用它执行您想要的操作。
如果您需要将 select1
中的 selected 选项发送到后端,然后用于计算 select2
的选项,那么您最好的选择是使用AJAX 从脚本发送和接收数据,然后用 JavaScript.