Javascript 如何在select表单中使用if-else语句?

Javascript 如何在select表单中使用if-else语句?,javascript,forms,drop-down-menu,Javascript,Forms,Drop Down Menu,在我的注册页面中,我将使用两个下拉列表选择其中一个应该被隐藏,如果它是负的,如果它是正的,新的下拉列表将打开选择 在mysql表中,我使用enom将表命名为糖尿病 enum('negative'、'insulin'、'drug'、'ndm'、'mody'、'') 这是我的密码: 糖尿病: 消极的 肯定的 糖尿病类型: 胰岛素 毒品 NDM 么 使用jquery,它相对更容易 $(document).ready(function(){ $("#diabetestype").hide(); $

在我的注册页面中,我将使用两个下拉列表选择其中一个应该被隐藏,如果它是负的,如果它是正的,新的下拉列表将打开选择

在mysql表中,我使用enom将表命名为糖尿病

enum('negative'、'insulin'、'drug'、'ndm'、'mody'、'')

这是我的密码:

糖尿病: 消极的 肯定的 糖尿病类型: 胰岛素 毒品 NDM 么
使用jquery,它相对更容易

$(document).ready(function(){
 $("#diabetestype").hide();
 $("#diabetes").on("change", function(){
   var v = $(this).val();
   if(v=="positive"){
      $("#diabetestype").show();
   }else{
     $("#diabetestype").hide();
   } 
 });
});
要使此代码可行,还需要添加
Positive
选项的值。因此,将其改为
value=”“

您甚至可以隐藏标签:

$(document).ready(function(){
 $("#diabetestype").closest("div").hide();
 $("#diabetes").on("change", function(){
   var v = $(this).val();
   if(v=="positive"){
      $("#diabetestype").closest("div").show();
   }else{
     $("#diabetestype").closest("div").hide();
   } 
 });
});
糖尿病: 消极的 肯定的 糖尿病类型: 胰岛素 毒品 NDM 么 函数checkDiabet(){ var isDiabet=document.getElementById(“isDiabet”)。选中; if(isDiabet==true){document.getElementById(“type”).removeAttribute(“style”);} else{document.getElementById(“type”).style.display=“none”;} } 首先,通过属性onchange设置First select以激发函数checkDiabet()。然后给选项一个需要检查的id,这样您就可以轻松地访问它

然后,将第二个select设置为display:none这可以在CSS头或文件中完成,或者类似于本例中的inline。(div style=“”),还可以添加一个id来轻松访问它。(div id=“type”)

现在是函数checkDiabete()。它检查选择是否被选中(可以是true或false(bool))。已选择=>show(div id=“type”),如果未选择,则隐藏此div(及其所有内容)
(如果已隐藏,则会使用(style=“display:none;”)覆盖(style=“display:none;”)

就这样!:)

试试这个:

函数SelectDiabetes(){
var d=document.getElementById(“糖尿病”).value;
var dType=document.getElementById(“diabetestypebox”);
如果(d=“负”)
dType.style.display=“无”;
其他的
dType.style.display=“块”;
}
选择糖尿病();
糖尿病: 消极的 肯定的 糖尿病类型: 胰岛素 毒品 NDM 么
在更改select id时调用js函数

糖尿病: 消极的 肯定的 糖尿病类型: 胰岛素 毒品 NDM 么
因此,如果值为正值,您可以从右侧列表中进行选择?因此,如果糖尿病为正值,则将出现第二个下拉列表来选择这些值。例如胰岛素、mody和……我在添加新的div时遇到问题,是否可以在不添加此div id的情况下进行更改???请不要将其更改为代码,只需使用diabetestypebox即可在其他方法中。可能吗?我没有添加一个
,我只是为您已经在那里的
分配了一个ID。实际上,因为我使用的是php框架,所以我无法添加新的div,第一个我没有问题,因为您使用了onchange,但是这一个,您添加了新的div,我无法将其添加到我的php代码中。我没有添加
到第二个。这是你的代码
糖尿病类型:
,我刚刚给了你代码中的
一个ID。太棒了,太棒了。非常感谢你。你真的帮助了我,救了我。再次感谢
<div><label for="diabetes">Diabetes:</label>
  <select id="diabet" name="diabet" onchange="checkDiabet();">
    <option value="negative">Negative</option>
    <option value="positive" id="isDiabet">Positive</option>
  </select>
</div>

<div id="type" style="display: hidden;">
  <label for="diabetestype">Diabetes Type:</label>
  <select id="diabetestype" name="diabetestype">
    <option value="insulin">Insulin</option>
    <option value="drug">Drug</option>
    <option value="ndm">NDM</option>
    <option value="mody">MODY</option>
  </select>
</div>

<script>
function checkDiabet() {
  var isDiabet = document.getElementById("isDiabet").selected;
  if (isDiabet == true) { document.getElementById("type").removeAttribute("style"); }
  else { document.getElementById("type").style.display = "none"; }
}
</script>