jquery - 变量作为函数的参数

时间:2016-05-24 19:08:17

标签: javascript jquery variables select

我有一个多选:

<select name="courier" class="selectpicker courierpicker" multiple>
    <option value="value1">Value1</option>
    <option value="value2">Value2</option>
    ...
</select>

我想使用选定的选项作为过滤表格中行的参数。这段代码对我不起作用(假设,只是为了这个例子,总有多个选定的选项):

$(".selectpicker").change(function() {
    var items = [];
    $('.courierpicker option:selected').each(function(){ 
        items.push($(this).val()); 
    });
    var $result = '["' + items.join('","') + '"]';
    $('#data-table').bootstrapTable('filterBy', {
        courierfilter: $result
    });
});

当我触发时:

$('#data-table').bootstrapTable('filterBy', { 
    courierfilter: ["value1","value2"] 
});

一切正常。

我知道初学者会犯一些愚蠢的错误,但要事先感谢每一个帮助。

2 个答案:

答案 0 :(得分:1)

问题是因为courierfilter属性需要一个数组,但是你要为它提供一个格式化为数组的字符串。另请注意,通过使用map()方法可以使数组生成更简单。试试这个:

$(".selectpicker").change(function() {
    var items = $('.courierpicker option:selected').map(function(){ 
        return this.value;
    }).get();
    $('#data-table').bootstrapTable('filterBy', {    
        courierfilter: items 
    });
});

答案 1 :(得分:1)

只需使用{courierfilter: items}

相关问题