Jquery如何将对象传递给另一个函数

Jquery how to pass object to another function

本文关键字:另一个 函数 对象 Jquery      更新时间:2023-09-26

大家好,我可以将对象传递给另一个jquery函数吗?

$('#course_id').on('change', function(e){
    var cour_id = e.target.value;
    $.get('/ajax-classification?cour_id=' + cour_id, function(data){
        console.log(data);
        $('#classification_id').empty();
        $('#classification_id').append('<option value="">--Select Classification--</option>');
        $.each(data, function(index, classificationObj){
            $('#classification_id').append('<option value="'+
                classificationObj.classification_id+'">'+ 
                classificationObj.classification_name+'</option>');
        });
    });
    //Here i want this function can get back the classificationObj.
    $('#classification_id').on('change', function(e){
        var cour_id = "1";
        var classi_id = e.target.value;
        $.get('/ajax-classification-index?classi_id=' + classi_id +'&cour_id='+ cour_id, function(data1){
            console.log(data1);
            $('#classification_index').empty();
            $('#classification_index').append('<option value="">--Select Index--</option>');
            $.each(data1, function(index, classificationIndexObj){
                $('#classification_index').append('<option value="">'+ 
                    classificationIndexObj.classification_index+'</option>');
            });
        });
    });
});

我该怎么办?如何修改第一个或第二个 Jquery 函数?

使用.data()保存每个选项的对象。

    $.each(data, function(index, classificationObj){
        $('#classification_id').append($("<option>", {
            value: classificationObj.classification_id,
            text: classificationObj.classification_name,
            data: { object: classificationOBj }
        }));
    });

然后在#classification_id更改处理程序中,您可以使用:

var classificationObj = $(this).find("option:selected").data("object");