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

时间:2015-03-05 11:25:03

标签: javascript jquery

我使用ddslick库生成我的选择。 我使用选择作为通用过滤器。 我还使用了很多$.dialog来获取应用程序的桌面方面。

所以我的想法是希望我的选择出现在每个对话框窗口上,使用类似的类:

$(".filters").ddslick(random instructions)

每个DIV都标有班级"过滤器"然后非常好地接收和绘制ddslick,无论它是否同时有5个窗口。

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

然后,如果我在第一个窗口中选择了某些内容,它也会在第二个窗口中选择相同的内容。这意味着变量只与一个窗口相关或唯一!

这是一个大问题,因为它可能导致很大的错误。

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

这是让你明白的图片:

http://hpics.li/807223b

这是我的代码:

    // 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链接到一个独特的对话窗口真的很复杂!

1 个答案:

答案 0 :(得分:0)

我已经改变了代码,它运行良好,但做同样的事情。我仍然不知道如何将泛型选择与特定div相关联。

我打开一个窗口,选择过滤器运行良好,但如果我打开另一个窗口,选择另一个过滤器,然后返回到第一个窗口,获取第二个窗口的值到第一个窗口,这导致错误。

我考虑为每个jquery window-div-dialog

创建一个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 ?

                        }
                    }); 
                })
        }

});