Javascript jQuery select:使用$(.class)获取不同的var

Javascript jQuery select:使用$(.class)获取不同的var,javascript,jquery,Javascript,Jquery,我正在使用ddslick库生成select。 我使用选择作为通用过滤器。 我还使用大量的$.dialog在我的应用程序上获得桌面特性 因此,我希望我的选择显示在每个对话框窗口上,使用如下类: $(".filters").ddslick(random instructions) 每个标有“filters”类的DIV都能很好地接收和绘制ddslick,无论它是否同时是5个窗口 它的工作非常好,选择甚至是独立的,直到我打开两个对话框窗口在同一时间 然后,如果我在第一个窗口中选择某个对象,它也会在第二

我正在使用ddslick库生成select。 我使用选择作为通用过滤器。 我还使用大量的
$.dialog
在我的应用程序上获得桌面特性

因此,我希望我的选择显示在每个对话框窗口上,使用如下类:

$(".filters").ddslick(random instructions)
每个标有“filters”类的DIV都能很好地接收和绘制ddslick,无论它是否同时是5个窗口

它的工作非常好,选择甚至是独立的,直到我打开两个对话框窗口在同一时间

然后,如果我在第一个窗口中选择某个对象,它也会在第二个窗口中选择相同的对象。这意味着变量不相关或只对一个窗口是唯一的

这是一个大问题,因为它会导致大错误

我需要ddslick将所选变量仅返回到一个窗口

这是一张让您了解的图片:

这是我的代码:

    // download and populate ddslick values
    $.ajax({
        url: 'creerSelect.php',  
        type: 'GET',
        data: $.param({'table':'categcours'}),
        success: function (data) {
                data=eval(data);
                afficheSelect(data);
                }
    }); 

    function afficheSelect(data){ // make ddslick selects appear on each div labelled filters
        $(".filtres").ddslick({
            data: data,
            width: 150,
            imagePosition: "left",
            selectText: titre,  
            onSelected: function (data) {
                window.choix    = data.selectedIndex+1;// get the selected variable on the global scope : how to use it after and make it unique and closed to only one jquery dialog ?

                }
        }); 

    }

我尝试了
this.choix
,但它与对话框窗口无关。我想我应该为每个窗口创建一个对象,也许?我真的不知道该怎么做。将由带有jQuery的类生成的过滤器链接到一个唯一的对话框窗口是非常复杂的

我已经更改了代码,它工作得很好,但是做了同样的事情。我仍然不知道如何将泛型select与特定div关联起来

我打开一个窗口,选择过滤器工作正常,但是如果我打开另一个窗口,选择另一个过滤器,然后返回第一个窗口,在第一个窗口中获取第二个窗口的值,这会导致错误

我考虑为每个jquery窗口div对话框创建一个javascript对象

我的目标是,我不想为每个windows div对话框重新编写通用选择过滤器

这真的很难

$.ajax({
        url: 'creerSelect.php',  // populate the select filter
        type: 'GET',
        data: $.param({'table':'categcours'}), // select an sql table
        success: function (data) {
                data=eval(data);


                $(".filtres").each( function(){ 

                    $(this).ddslick({ // each div labelled with the .filtres class will show the generic select filters
                        data: data,
                        width: 150,
                        imagePosition: "left",
                        selectText: titre,  
                        onSelected: function (data) {
                            this.choix  = data.selectedIndex+1;// How to link the selected variable to a particular div-dialog-window ? It's really hard ! Reminds me of a "private" thing ? Maybe i have to use "return" something ?

                        }
                    }); 
                })
        }

}))

我不确定我在这里说的是什么,但请尝试
$(“.filters”).each(function(){$(this.ddslick(…)})
我希望,通过这样做,它可以将每个函数包装在自己的函数(即闭包)中,并可以隔离作用域…非常感谢!让我们试试这个,我会让你知道的谢谢你:!NickHO我有另一个想法,也许我应该在用户进入一个窗口时禁用其他windows div筛选器。现在,我被迫为每个窗口重新编写一个独特的ddslick筛选器函数,它不短,但可以工作。非常感谢您的提示,这将在将来有所帮助。另一个想法:我应该在单击特定的jquerydialog时重新设置整个过滤器。