Jquery Select 获取数组对象值
Jquery Select get array object value
我正在寻找可以轻松快速地迭代的东西,或者寻找使用 jQuery 从 JavaScript 数组对象添加 的最佳方法, 可以使用 jQuery?
提交到 JavaScript 数组对象
这是我所做的:
var view = [{id:123, name:john, type:5},{id:234, name:adam, type:4},{id:456, name:max, type:3}]
var dis = $.map(view, function (item) {
var opt = $('<option/>', { selected:'selected', text: item.name})
return opt
});
$(".select-js-view").append(dis);
Select 的结果是:
var selectedValues = $('.select-js-view').val();
console.log(selectedValues);
selectedValues = [john,adam]
所以我的问题是,我怎样才能得到像 (view) 这样的数组对象值?或者也许有人可以给我一些提示。
首先:你必须把名字放在"
符号里。
现在,你可以试试这个。
var view = [{id:123, name:"john", type:5},{id:234, name:"adam", type:4},{id:456, name:"max", type:3}]
var dis = $.map(view, function (item) {
var opt = $('<option/>', { selected:'selected', text: item.name});
opt[0].info = item;
return opt
});
$(".select-js-view").append(dis);
$(".select-js-view").change(function(){
console.log($(this.options).filter(":selected")[0].info);
});
//If you want to get all (similar view var):
function GetAll(){
var r=[];
$(".select-js-view option").each(function(i, o){
r.push(o.info);
});
return r;
}
console.log(GetAll());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<b style='color: #090'>change me:</b>
<select class="select-js-view"></select>
我正在寻找可以轻松快速地迭代的东西,或者寻找使用 jQuery 从 JavaScript 数组对象添加 的最佳方法, 可以使用 jQuery?
提交到 JavaScript 数组对象这是我所做的:
var view = [{id:123, name:john, type:5},{id:234, name:adam, type:4},{id:456, name:max, type:3}]
var dis = $.map(view, function (item) {
var opt = $('<option/>', { selected:'selected', text: item.name})
return opt
});
$(".select-js-view").append(dis);
Select 的结果是:
var selectedValues = $('.select-js-view').val();
console.log(selectedValues);
selectedValues = [john,adam]
所以我的问题是,我怎样才能得到像 (view) 这样的数组对象值?或者也许有人可以给我一些提示。
首先:你必须把名字放在"
符号里。
现在,你可以试试这个。
var view = [{id:123, name:"john", type:5},{id:234, name:"adam", type:4},{id:456, name:"max", type:3}]
var dis = $.map(view, function (item) {
var opt = $('<option/>', { selected:'selected', text: item.name});
opt[0].info = item;
return opt
});
$(".select-js-view").append(dis);
$(".select-js-view").change(function(){
console.log($(this.options).filter(":selected")[0].info);
});
//If you want to get all (similar view var):
function GetAll(){
var r=[];
$(".select-js-view option").each(function(i, o){
r.push(o.info);
});
return r;
}
console.log(GetAll());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<b style='color: #090'>change me:</b>
<select class="select-js-view"></select>