0
我有一个jquery/javascript函数,可以创建一个数组,放置在窗体的隐藏字段中。但是,这是一种嵌套形式,所以我需要多次调用此函数来填充所有子项的隐藏字段:test_suite_run[test_runs_attributes][//id][packages_id]
。这意味着我需要每次使用不同的子ID来运行此函数。复制JQuery/Javascript功能
我已经加了//id
来表示许多函数调用之间的唯一区别。我不知道如何复制这个函数,而不需要手动复制它多次,并替换每个嵌套子实例的索引为0 ... n的// id。这可以通过传递参数到javascript函数来完成吗?
对不起,如果这有点令人困惑,我会很乐意解释如果需要更详细的。
jQuery函数
$(document).ready(function() {
arr = new Array();
$(document).on('change', 'select[id ^="s_package//id"]', function() {
var arr = $('select[id ^="s_package//id"]').map(function() {
return this.value
})
result = ""
for (j = 0; j < arr.length - 1; j++) {
result += (arr[j] + ", ");
}
result += (arr[arr.length - 1])
$("input[name='test_suite_run[test_runs_attributes][//id][packages_id]']").val(result);
});
});
取而代之的是使用基于id的选择器。我会说使用选择器作为类,因为你正在使用的on()函数会自动将change事件和函数绑定到将来用这个类创建的所有元素,这样你就不必再次重复这个函数。 http://api.jquery.com/delegate/ $(document).on('change','.some_class',function() – Raghu 2012-07-16 19:33:08