我要做的是从下拉列表中提交一些选项,但是当我这样做时,我想按照选择的顺序发送选项。 目前,它提交选择的数组,但按顺序提交到下拉列表中。我怎么能改变呢? 这是下拉列表的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 ......而且我不想要它。
答案 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");
});