Jquery选择获取数组对象值

问题描述 投票:0回答:1

我正在寻找可以轻松快速迭代的东西,或者是使用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)这样的数组对象值?或者有人可以给我一个暗示。

javascript jquery arrays html-select
1个回答
0
投票

第一:你必须把名字放在"标志。

现在,你可以试试这个。

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>
© www.soinside.com 2019 - 2024. All rights reserved.