使用数据库信息从两个下拉列表中提取两个选项

时间:2014-04-11 21:14:04

标签: javascript php jquery html drop-down-menu

我确定这个标题很模糊,所以让我试着解释一下我在做什么。

让我们说我在表单中有两个下拉列表,其中包含数据库提取的信息,如下所示:

  

下拉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.这是否有意义?

4 个答案:

答案 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>')
    })
})

Fiddle

答案 1 :(得分:0)

您可以使用javascript动态更改第3次选择的选项。

您可以在此处阅读有关获取所选值的更多信息:

jQuery Get Selected Option From Dropdown

从这里开始,将这些选择值注入第3个下拉列表应该非常简单。

我会亲自听取前两个下拉列表中的任何更改(在更改时),在更改方法中,我会删除第3个下拉列表中的所有内容并且。替换所选值。

答案 2 :(得分:0)

http://jsfiddle.net/JEDA4/

<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;