好的,我在提问之前进行了研究,但是他们似乎使用了复杂的东西,比如克隆(?),但我需要的确实很简单,我无法做到或者不知道是否可能在php中实现。
我需要第二个下拉列表根据当前选择(提交之前)的第一个下拉列表中的内容出现。
这是我的第一个下拉列表:
<select name="category">
<option value="Vitamin">Vitamin</option>
<option value="Supplement">Supplement</option>
<option value="Therapy Machine">Therapy Machine</option>
</select>
例如,当我选择“维生素”时,第二个下拉选项应为...
<select name="subcategory">
<option value="Vitamin A">VitaminA</option>
<option value="Vitamin B">VitaminB</option>
<option value="Vitamin C">VitaminC</option>
</select>
我尝试使用if语句在php中实现它。我几乎不理解js,但我认为有一种更简单的方法?...帮帮我。
编辑:这是代码。
<select name="category" id="category">
<option value="Vitamin" selected>Vitamin</option>
<option value="Supplement">Supplement</option>
<option value="Therapy Machine">Therapy Machine</option>
</select>
<select name="subcategory" id="subcategory">
<optgroup label="Vitamin">
<option value="Vitamin A">VitaminA</option>
<option value="Vitamin B">VitaminB</option>
<option value="Vitamin C">VitaminC</option>
</optgroup>
<optgroup id="B" label="Supplement" disabled>
<option value="Vitamin A">VitaminA</option>
<option value="Vitamin B">VitaminB</option>
<option value="Vitamin C">VitaminC</option>
</optgroup>
<optgroup id="C" label="Therapy Machine" disabled>
<option value="Vitamin A">VitaminA</option>
<option value="Vitamin B">VitaminB</option>
<option value="Vitamin C">VitaminC</option>
</optgroup>
</select>
And the JS
<script>
$(document).ready(function(){
$("#category").on("change",function(){
var selectedVal=$( "#category option:selected" ).val();
$("#subcategory > optgroup").attr("disabled","disabled");
$('#subcategory > optgroup[label="'+selectedVal+'"]').removeAttr("disabled");
});
});
</script>