Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ,我试图使它像id:res.client\u id,“text”:res.company\u name。是否可以从select2El.paramsobject中创建类似concat的对象属性?我认为出现问题的原因是使用了var,这不会形成块级闭包。我已经编_Javascript_Angular_Loops_Object_Properties - Fatal编程技术网

Javascript ,我试图使它像id:res.client\u id,“text”:res.company\u name。是否可以从select2El.paramsobject中创建类似concat的对象属性?我认为出现问题的原因是使用了var,这不会形成块级闭包。我已经编

Javascript ,我试图使它像id:res.client\u id,“text”:res.company\u name。是否可以从select2El.paramsobject中创建类似concat的对象属性?我认为出现问题的原因是使用了var,这不会形成块级闭包。我已经编,javascript,angular,loops,object,properties,Javascript,Angular,Loops,Object,Properties,,我试图使它像id:res.client\u id,“text”:res.company\u name。是否可以从select2El.paramsobject中创建类似concat的对象属性?我认为出现问题的原因是使用了var,这不会形成块级闭包。我已经编辑了答案,你能检查一下吗?另外,你可以使用Object.assign合并对象。谢谢你@rudraprasad!非常感谢。顺便提一下,还有一个简单的问题。为什么我会遇到id未定义错误?是的,这就是我想做的。谢谢你的帮助。但是,很抱歉,我尝试了你的


,我试图使它像
id:res.client\u id,“text”:res.company\u name
。是否可以从
select2El.params
object中创建类似concat的对象属性?我认为出现问题的原因是使用了
var
,这不会形成块级闭包。我已经编辑了答案,你能检查一下吗?另外,你可以使用
Object.assign
合并对象。谢谢你@rudraprasad!非常感谢。顺便提一下,还有一个简单的问题。为什么我会遇到
id
未定义错误?是的,这就是我想做的。谢谢你的帮助。但是,很抱歉,我尝试了你的代码并得到了这个响应。此外,我还试图使它像
id:res.client\u id,'text':res.company\u name
。是否可以从
select2El.params
object中创建类似concat的对象属性?我认为出现问题的原因是使用了
var
,这不会形成块级闭包。我已经编辑了答案,你能检查一下吗?另外,你可以使用
Object.assign
合并对象。谢谢你@rudraprasad!非常感谢。顺便提一下,还有一个简单的问题。为什么我会遇到
id
未定义错误?您正在返回res.sel['field_id']。但是,我在您的控制台日志中没有看到'sel'。您正在返回res.sel['field_id']。但是,我在您的控制台日志中没有看到“sel”。
var client_id = '', company_name = '', vacancy_category_id = '', category_name = '', user_id = '', full_name = '';
    let select2El = {
        params: [{
            'id': '#client_id', 
            'url': '/consultant/vacancy/get-clients', 
            'field_id': client_id, 
            'field_text': company_name, 
            'success_response': $scope.clients
        }, {
            'id': '#clone_client_id', 
            'url': '/consultant/vacancy/get-clients', 
            'field_id': client_id, 
            'field_text': company_name,
            'success_response': $scope.clients
        }, {
            'id': '#category_id', 
            'url': '/consultant/vacancy/get-categories', 
            'field_id': vacancy_category_id, 
            'field_text': category_name, 
            'success_response': $scope.categories
        }, {
            'id': '#owner_id', 
            'url': '/consultant/vacancy/get-users-by-type', 
            'field_id': user_id, 
            'field_text': full_name, 
            'success_response': $scope.users
        }]
    }

    for (var key in select2El.params) {
        var sel = select2El.params[key];
        angular.element(sel['id']).select2({
            width: '100%',
            placeholder: '--Select--',
            ajax: {
                url: sel['url'],
                dataType: 'json',
                data: function (params) {
                    return {
                        search: params.term,
                        page: params.page || 1
                    }
                },
                processResults: function (response, params) {
                    params.page = params.page || 1;
                    return {      
                        results: response.data.map(function (res) {
                            console.log(res);
                            return { id: res.sel['field_id'], 'text': res.sel['field_text'] }
                        }),
                        pagination: {
                            more: (params.page * 10) < response.total
                        }
                    };
                },
                success: function (response) {
                    sel['success_response'] = response.data;
                }
            }
        });
    }
return { id: res.sel['field_id'], 'text': res.sel['field_text']
var client_id = '', company_name = '', vacancy_category_id = '', category_name = '', user_id = '', full_name = '';
    let select2El = {
        params: [{
            'id': '#client_id', 
            'url': '/consultant/vacancy/get-clients', 
            'field_id': client_id, 
            'field_text': company_name, 
            'success_response': $scope.clients
        }, {
            'id': '#clone_client_id', 
            'url': '/consultant/vacancy/get-clients', 
            'field_id': client_id, 
            'field_text': company_name,
            'success_response': $scope.clients
        }, {
            'id': '#category_id', 
            'url': '/consultant/vacancy/get-categories', 
            'field_id': vacancy_category_id, 
            'field_text': category_name, 
            'success_response': $scope.categories
        }, {
            'id': '#owner_id', 
            'url': '/consultant/vacancy/get-users-by-type', 
            'field_id': user_id, 
            'field_text': full_name, 
            'success_response': $scope.users
        }]
    }

    for (let key in select2El.params) {
        let sel = select2El.params[key];
        angular.element(sel['id']).select2({
            width: '100%',
            placeholder: '--Select--',
            ajax: {
                url: sel['url'],
                dataType: 'json',
                data: function (params) {
                    return {
                        search: params.term,
                        page: params.page || 1
                    }
                },
                processResults: function (response, params) {
                    params.page = params.page || 1;
                    return {      
                        results: response.data.map(function (res, index) {
                            console.log(res);
                            return { id: sel['field_id'], 'text': sel['field_text'] }
                        }),
                        pagination: {
                            more: (params.page * 10) < response.total
                        }
                    };
                },
                success: function (response) {
                    sel['success_response'] = response.data;
                }
            }
        });
    }