我确定这个标题很模糊,所以让我试着解释一下我在做什么。
让我们说我在表单中有两个下拉列表,其中包含数据库提取的信息,如下所示:
下拉1
- >选项1
- >选项2
下拉2
- >选项3
- >选项4
下拉列表3
[无]
我要做的是将所选选项动态地放在同一页面的单个下拉列表中。所以它看起来像
下拉1
- > [已选择] 选项1
- >备选方案2
下拉2
- > [SELECTED] 选项3
- >备选方案4
下拉列表3
- >选项1
- >选项3
想象一下你有两个半决赛的运动支架,"比如第一场比赛A队与B队比赛,然后是第二场比赛,第二队比赛第二场比赛。之后,如果A队获胜(选中)而C队获胜(选中),下一场比赛将是A队与C队(下拉队) 3)。
有什么想法吗?
编辑,对于已回复的人: 我想我可以更具体一点,因为这直接回应了我的要求,我感谢你。但是,我有两个初始下拉列表都有一个选项作为默认值,因此下拉列表3应该已经包含了1和2中的两个选项。如果下拉列表1的选项发生变化,它会更改选项。因此,默认情况下,下拉列表3将显示选项1和3,但如果我将下拉列表1更改为选项2,则会将下拉列表3更改为选项2和3.这是否有意义?
答案 0 :(得分:0)
你显然想要检查以确保改变主意的人不会添加超出预期的选项(例如,我选择选项1,然后选择选项4,导致两者都被添加到新选择中现实我只想要我的最终答案[4]。
然而,应该让你开始。
HTML
<select class="component" name="blah">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select class="component" name="blah2">
<option value="3">3</option>
<option value="4">4</option>
</select>
<select name="combined"></select>
JS
$(function () {
$('.component').change(function () {
$('select[name="combined"]').append('<option value="' + $(this).val() + '">' + $(this).val() + '</option>')
})
})
答案 1 :(得分:0)
您可以使用javascript动态更改第3次选择的选项。
您可以在此处阅读有关获取所选值的更多信息:
jQuery Get Selected Option From Dropdown
从这里开始,将这些选择值注入第3个下拉列表应该非常简单。
我会亲自听取前两个下拉列表中的任何更改(在更改时),在更改方法中,我会删除第3个下拉列表中的所有内容并且。替换所选值。
答案 2 :(得分:0)
<select id="one">
<option>Option 1 - 1</option>
<option>Option 1 - 2</option>
</select>
<select id="two">
<option>Option 2 - 1</option>
<option>Option 2 - 2</option>
</select>
<select id="three">
</select>
$('#one, #two').on('change',function() {
$('#three').empty().append('<option>' + $("#one option:selected" ).text() + '</option>').append('<option>' + $("#two option:selected" ).text() + '</option>');
});
答案 3 :(得分:-1)
您可以使用通过对前2个下拉列表中的任何一个进行更改而触发的javascript
在你的标签中添加一个onchange =&#34; updateDropdown()&#34;参数
然后创建一个javascript函数updateDropdown(),它可以添加或删除第3个下拉列表中的选项
This article解释了一些方法。
你并没有真正解释你想要做什么,但这听起来像是一个完整的游行疯狂型下拉列表。这会增加一些复杂性,特别是如果你可以在它填满后返回并改变旧的,如果这是有意义的话,这会使链条无效。如果您正在尝试这样的事情,请记住您可以将参数传递给onchange中的函数,例如onchange =&#34; updateDropdown(123)&#34;