现在我正在寻找关于如何制作一个下拉选择表格的解决方案,该表格会对相应的选择有不同的反应...
例如,我为占领做了一个下拉选择器...
当我选择信息技术时,它会显示另一个选择器,指定仅在用户选择信息技术时显示...弹出选择器允许我们选择与网页设计等相关的所有内容...
我可以知道如何使用rails吗?
答案 0 :(得分:1)
我会在这里使用某种DHTML解决方案。实际上,您并不依赖于Rails进行溶出。
假设您有两类职业,分别是“IT Stuff”和“Flower Arranging”。每个人都有一个子类别。
您视图中的表单(xxx.erb.html)将如下所示:
<form>
<select name="profession" onChange="makeVisible(this.options[selectedIndex].value);">
<option value="itstuff">IT Stuff</option>
<option value="flowerarranging">Flower Arranging</option>
</select>
<div id="itstuff" style="display:none" >
<!-- Here is where you put the <select> for the sub-categories of IT Stuff -->
<select name="itsub">
<option value="WindowsAdmin">Windows</option>
<option value="NeXTStepAdmin">NeXT</option>
</select>
</div>
<div id="flowerarranging" style="display:none">
<!-- Here is where you put the <select> for the sub-categories of IT Stuff -->
<select name="flowersub">
<option value="roses">Roses</option>
<option value="daisies">Daisies</option>
</select>
</div>
<input type="submit" value="Submit Profession INfo" />
</form>
<script>
function makeAllInvisible() {
document.getElementById('itstuff').style.display='none';
document.getElementById('flowerarranging').style.display='none';
}
function makeVisible(id) {
makeAllInvisible();
document.getElementById(id).style.display='block';
}
</script>
一旦你有了,你的表单处理程序将需要能够处理表单的所有输入,包括不可见部分中的输入。在Rails中,这意味着你将不得不处理params [:profession],params [:itsub]和params [:flowersub]来处理这个表单的所有提交。
请注意在此处使用Rails表单助手。我没有在Rails form_for帮助程序中为select标签找到一个好的Rails表单标签。我通常手工编写代码。