将变量传递给Selectize jQuery插件的加载函数

时间:2017-11-03 03:01:13

标签: javascript jquery ajax selectize.js

我对jQuery不太满意,所以如果这是一个简单的问题,请原谅我。基本上,我正在使用Selectize jQuery插件为下拉框添加其他功能。我正在进行ajax调用以获取下拉列表的数据,但我需要将一个变量传递给ajax调用,以便它可以用作URL的一部分。这是代码:

    $(document).ready(function() {
    $("#dob").datepicker();

    var target_area = {!! json_encode($target_area->toArray()) !!};
    console.log(target_area.id);
    $('#skills').selectize({
            valueField: 'id',
            labelField: 'skill_name',
            searchField: 'skill_name',
            maxItems: null,
            create: false,
            options: [],
            plugins:['option_click'],
            preload: true,
            load: function(target_area, callback) {
                console.log(target_area);
                $.ajax({
                    url: 'http://rti.dev/skills/target_area/'+target_area.id,
                    type: 'GET',
                    dataType: 'json',
                    error: function() {
                        callback();
                    },
                    success: function(res) {
                        callback(res);
                    }
                });
            },
            render: {
                option: function(data) {
                    return '<div><span>'+data.skill_name+'</span>'
                        + '<div class="pull-right">'
                        + '<a target="_blank" href='+data.skill_url+'><span title="Assign" class="clickable fa fa-globe"></span></a>'
                        + '&nbsp;'
                        + '</div></div>';
                }
            }
        });
});

我正在尝试将变量target_area传递给ajax调用,因此我可以在URL中使用正确的id。当我将target_area.id的值写入控制台时,我得到了预期的值。我似乎无法将其传递给ajax函数。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

$(document).ready(function(){     $(&#34;#DOB&#34)日期选择器();

var target_area = {!! json_encode($target_area->toArray()) !!};
console.log(target_area.id);
$('#skills').selectize({
        valueField: 'id',
        labelField: 'skill_name',
        searchField: 'skill_name',
        maxItems: null,
        create: false,
        options: [],
        plugins:['option_click'],
        preload: true,
        load: function(target_area, callback) {
            console.log(target_area);
            $.ajax({
                url: 'http://rti.dev/skills/',
                type: 'GET',
                data:{target:target_area.id},
                dataType: 'json',
                error: function() {
                    callback();
                },
                success: function(res) {
                    callback(res);
                }
            });
        },
        render: {
            option: function(data) {
                return '<div><span>'+data.skill_name+'</span>'
                    + '<div class="pull-right">'
                    + '<a target="_blank" href='+data.skill_url+'><span title="Assign" class="clickable fa fa-globe"></span></a>'
                    + '&nbsp;'
                    + '</div></div>';
            }
        }
    });

});

注意&gt;&gt;数据:{目标:target_area.id},