[英]Populating a jquery array from values of a select using each
我试图用从选择中选择的值填充Jquery中的数组。
这是我的jquery(没有ajax调用,因为我首先要在调用ajax将字段输入到db中之前创建数组)
$('#add-group-form').submit(function(e) {
e.preventDefault();
var contactsArr = [];
$("select option").each(function(i, val){
var $val = $(val);
if($(i).attr('selected', 'selected')){
contactsArr.push({value: $val.val()});
}
});
console.log(contactsArr);
});
现在,老实说,我是从不同的来源获得的。
不知道如何检查属性以确保已选中它。
先谢谢您的帮助
**编辑:
好的,所以我可能忘了检查答案,因为我试图弄清楚它使自己分心
这就是我的操作方式(已在我的系统中测试并正常工作)。
var contactsArr = [];
$(".edit-contact-select option:selected").each(function() {
contactsArr.push({value: $(this).val()});
});
我把整个事情复杂化了。
您无需为“选定的” option
遍历option
s。 改用这个:
$('#add-group-form').submit(function(e) {
e.preventDefault();
var contactsArr = [];
$('select').each(function(){
contactsArr.push({value: $(this).val()});
});
console.log(contactsArr);
});
$('select').val()
实际上返回选择输入的SELECTED值。
希望能有所帮助。
看起来您是否有多重选择,因此可以使用.val()获取数组中的选定值
$('#add-group-form').submit(function (e) {
e.preventDefault();
var contactsArr = $("select").val();
console.log(contactsArr);
});
如果要存储从多个选择元素中选择的值,请使用.map()
$('#add-group-form').submit(function (e) {
e.preventDefault();
var contactsArr = $("select").map(function (i, val) {
return $(this).val()
}).get();
console.log(contactsArr);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.