jquery从数组中获取每个单独的值

时间:2013-08-11 04:26:45

标签: jquery arrays

我有一个多选下拉列表,当用户选择单个项目或按ctrl或shift时,我想捕获这些项目并将它们存储在一个数组中,然后在数组中获取每个值并执行其他一些操作它。我完成了第一部分:

var selectValues = new Array();
$('#ddlBProduct').change(function () {
    selectValues = [];
    selectValues.push($(this).val());
    MyFunction();
});

function MyFunction(){
    $.each(selectValues, function () {
        var theitem = $('#' + this).html();
   });
}

在该函数中没有MyFunction由于某种原因我将所有值都保持为1值而不是每个人。我假设的是,数组中的“单个”值实际上是所有选定选项的列表,而不是将它们分离到数组中。帮助

编辑:删除

selectValues = [];

结果如下:

["81"] 
["81"] 
["81", "102"] 
["81"] 
["81", "102"] 
["81", "102", "30"] 

那就是选择一个选项并按下shift并选择更多项目。

2 个答案:

答案 0 :(得分:0)

试试这个:

$('select').change(function () {
    var selected_options = $(this).parent().find('option:selected');
    myFunction($.map(selected_options, function (selected_option) { return selected_option.value; }));
});

function myFunction(selectValues){
    console.log(selectValues)
    $.each(selectValues, function () {        
        var theitem = $('#' + this).html();
    });
}

Fiddle

答案 1 :(得分:0)

尝试

var selectValues = new Array();
$('#ddlBProduct').change(function () {
    selectValues = $(this).val();
    MyFunction();
});

function MyFunction(){
    $.each(selectValues, function(idx, val){
        console.log('value: ', val)
    })
}

演示:Fiddle