按选定的顺序提交选项

时间:2017-10-27 08:23:27

标签: javascript jquery html

我要做的是从下拉列表中提交一些选项,但是当我这样做时,我想按照选择的顺序发送选项。 目前,它提交选择的数组,但按顺序提交到下拉列表中。我怎么能改变呢? 这是下拉列表的html代码。

<select style="padding: 1em;"  name="skills" multiple="" id="uInput"
                    class="ui fluid dropdown">
                    <option value="">Skills</option>
                    <option value="java">JAVA</option>
                    <option value="matlab">MATLAB</option>
                    <option value="embedded">Embedded</option>
                    <option value="mech">Mechanical Engineering</option>
                    <option value="ccpp">C/C++</option>
                    <option value="elec">ELEC</option>
                    <option value="hwdev">HW DEV</option>
</select> 

我的js代码

     $(document).ready(function() {
                $('.ui.dropdown').dropdown();
            });


     $("#uInput").on(
             'change',
             function(){
                 if($(this).val().length > 2){
                     $('.item').addClass('disabled');
             }else{
             $('.item').toggleClass('disabled', false); 
             }   
             });

我这样做是为了让用户只选择3个选项。

为了更好地理解我的意思,这是一个例子: 如果我选择的选项是:Embedded,Java,Elec它将提交Java,Embedded,Elec ......而且我不想要它。

2 个答案:

答案 0 :(得分:0)

var itemsArray = [];

$("option").select(function() {
  itemsArray.push[this.property];      
});

然后将阵列发送到服务器。

将'property'替换为您要在select上发送的任何内容,但请记住,如果用户稍后改变主意,它将会变得混乱。

您可能也希望为您的选项提供一个公共类,或者由孩子选择。

答案 1 :(得分:0)

尝试一下:

$("select").select2({
    tags : true
});
$("select").on("select2:select", function(evt) {

    var element = evt.params.data.element;
    var $element = $(element);

    $element.detach();
    $(this).append($element);
    $(this).trigger("change");


});