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>