如何获得从两个不同的选择的选项<选择>与.VAL元件()

时间:2019-02-02 20:16:28

标签: jquery select

因此,我有两个基本的select下拉列表,其中包含一些选项:
       
我希望能够使用.val()来同时获取用户的选择,然后在最后一个div中打印一些html(取决于选择的组合)。 到目前为止,这是我尝试过的:     $( “#形式”)。在( '变',函数(E){     var selectedValue = $('select [name = firstselect]','select [name = secondselect]')。val();     如果(selectedValues ===“英语”“女孩”){            $(“#print_html_here”)。html(“您已选择英语女孩。”);      }     ELSEIF(selectedValues === “法国”, “女”){            $(“#print_html_here”)。html(“您已选择法国女孩。”);      }     }); 但是没有喜悦。我觉得语法是错误的,当我试图val中的两个选择元素。任何帮助,将不胜感激!

1 个答案:

答案 0 :(得分:2)

您有一些失误,有些他们是:

1)首先,我建议将ids添加到您的html元素中,以便更容易从Jquery定位它们。

2) change事件侦听器应该位于selects之上,而不是form之上。

3)您需要将values属性添加到您的选项中...

因此,考虑到以前的评论,我重新组织了您的代码,如下所示:

$("#sel1, #sel2").on('change', function(e)
{
    var firstSel = $('#sel1').val();
    var secondSel = $('#sel2').val();

    if (firstSel == 1 && secondSel == 1)
        $("#print_html_here").html("You have selected English Girls.");
    else if (firstSel == 2 && secondSel == 1)
        $("#print_html_here").html("You have selected French Girls.");
    else if (firstSel == 1 && secondSel == 2)
        $("#print_html_here").html("You have selected English Boys.");
    else if (firstSel == 2 && secondSel == 2)
        $("#print_html_here").html("You have selected French Boys.");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="form">    

   <select id="sel1" name="firstselect">
     <option value="1">English</option>
     <option value="2">French</option>
   </select>

   <select id="sel2" name="secondselect">
     <option value="1">Girls</option>
     <option value="2">Boys</option>
   </select>

</div>

<div id="print_html_here"></div>