我有一个下拉列表,必须根据所选的选项填充其他几个下拉列表。我找到了一种使用隐藏字段的方法。我为每个子下拉列表创建了一个隐藏字段及其所有选项。然后从我的JS函数中,检查选择了哪个selectedIndex,然后给出其各自隐藏字段的值。
这种方法效果很好,但是,我使用变量ID FROM Js函数设置子下拉列表的值。这降低了灵活性。
有没有人知道如何从HTML中传递所有参数?
最好的方法是所有下拉列表都在那里但不显示。更改主下拉列表后,将显示相应的子下拉列表。
有什么想法吗?
答案 0 :(得分:1)
如果我了解此问题,您的帖子中不会返回隐藏的值?为了解决这个问题,我在提交时运行一个例程,它抓取所有隐藏的值并将它们放入hidden类型的非隐藏输入中。
所以......假设你使用的jquery就像
那样<div id='hiddenValues'></div>
<script type='text/javascript'>
function onSubmit() {
var hiddenValue = $('$yourHiddenSelectBox').val();
$('#hiddenValues').append("<input type='hidden' name='someId' value='" + hiddenValue + "'>";
}
</script>
答案 1 :(得分:1)
你应该能够做你想做的事情,把所有的下拉菜单都隐藏起来,除了正确的。
<script type="text/javascript">
function changedropdown(index) {
dropdowns['dropdown1'].style.display='none';
dropdowns['dropdown2'].style.display='none';
dropdowns['dropdown3'].style.display='none';
dropdowns['dropdown4'].style.display='none';
dropdowns[index].style.display='inline';
}
</script>
<form name='dropdowns'>
<select onchange='changedropdown(options[selectedIndex].value)'>
<option selected value='dropdown1'>1</option>
<option value='dropdown2'>2</option>
<option value='dropdown3'>3</option>
<option value='dropdown4'>4</option>
</select>
<select name='dropdown1'>
<option selected value=1>dropdown1</option>
</select>
<select style='display:none' name='dropdown2'>
<option selected value=1>dropdown2</option>
</select>
<select style='display:none' name='dropdown3'>
<option selected value=1>dropdown3</option>
</select>
<select style='display:none' name='dropdown4'>
<option selected value=1>dropdown4</option>
</select>
</form>