Javascript 如何在JS中获得多重选择
我知道这个问题已经发布了,但是 没有帮我。我尝试了前两种解决方案,但都不奏效 第一:我得到一个关于选项未定义的错误(无论我如何处理) 第二个:当我在研究meteor时,“this.val()”不是一个值,因为它不是指好的对象 编辑:这是我的代码 HTML:Javascript 如何在JS中获得多重选择,javascript,meteor,html-select,Javascript,Meteor,Html Select,我知道这个问题已经发布了,但是 没有帮我。我尝试了前两种解决方案,但都不奏效 第一:我得到一个关于选项未定义的错误(无论我如何处理) 第二个:当我在研究meteor时,“this.val()”不是一个值,因为它不是指好的对象 编辑:这是我的代码 HTML: <select class="selectpicker show-tick" id="update-languages-1" data-selected-text-format="values"> {{#each isoLan
<select class="selectpicker show-tick" id="update-languages-1" data-selected-text-format="values">
{{#each isoLangs 1}}
{{#if selected}}
<option disabled selected>{{name}}</option>
{{else}}
<option>{{name}}</option>
{{/if}}
{{/each}}
</select>
你能给我建议另一种方法吗
感谢您选择选项元素需要一个值=“attibute:
<select multiple class="selectpicker show-tick" id="update-languages-1" data-selected-text-format="values">
{{#each isoLangs 1}}
{{#if selected}}
<option value="{{name}}" disabled selected>{{name}}</option>
{{else}}
<option value="{{name}}">{{name}}</option>
{{/if}}
{{/each}}
</select>
您的选项元素没有value属性。你应该加上它。之后,$select.val()将返回一个数组,其中包含所选选项中的值。不要忘记将“multiple”属性添加到select元素中(这允许选择多个选项),否则$select.val()将从所选选项返回唯一值(而不是作为值数组)。
Template.profile.events({
'submit form': function(event, tmpl){
[...]
var learningLanguages = [];
$('#update-languages-1 :selected').each(function(){
learningLanguages.push($(this).val());
});
return false;
}
});
<select multiple class="selectpicker show-tick" id="update-languages-1" data-selected-text-format="values">
{{#each isoLangs 1}}
{{#if selected}}
<option value="{{name}}" disabled selected>{{name}}</option>
{{else}}
<option value="{{name}}">{{name}}</option>
{{/if}}
{{/each}}
</select>
var learningLanguages = $('#update-languages-1').val();