如何在javascript中委托这个?

时间:2010-08-16 07:21:40

标签: javascript jquery

var selValues = {};
selValues['234'] = $('#asd').val();
selValues['343'] = function () { var el = ''; $('#asd input[@type=checkbox]:checked').each(function() { el += $(this).val() + '|'; }); return el; } };

这是解释:

我正在创建一个键值数组,它从DOM对象中提取不同的值。您在示例中看到的最后一个数组实际上尝试在复选框列表中提取已检查的项目。我试图委托循环并返回所有已检查值的分隔字符串,但它不起作用。

3 个答案:

答案 0 :(得分:1)

mapping可能是更好的解决方案:

var el = $('#asd input:checkbox:checked').map(function(){
    return $(this).val();
}).get().join('|');

答案 1 :(得分:0)

如果我正确理解你的问题,那么你遇到的问题就是你只是在selValues['343']中存储一个函数,而不是在评估它。

您可以尝试selValues['343'] = function () { var el = ''; $('#asd input[@type=checkbox]:checked').each(function() { el += $(this).val() + '|'; }); return el; } }();(注意最后的括号),它应评估您的功能并将结果存储在selValues['343']

答案 2 :(得分:0)

似乎适合我:http://jsfiddle.net/HM4zD/