我使用ddslick库生成我的选择。
我使用选择作为通用过滤器。
我还使用了很多$.dialog
来获取应用程序的桌面方面。
所以我的想法是希望我的选择出现在每个对话框窗口上,使用类似的类:
$(".filters").ddslick(random instructions)
每个DIV都标有班级"过滤器"然后非常好地接收和绘制ddslick,无论它是否同时有5个窗口。
它工作得非常好,选择甚至是独立的,直到我同时打开2个对话框窗口!
然后,如果我在第一个窗口中选择了某些内容,它也会在第二个窗口中选择相同的内容。这意味着变量只与一个窗口相关或唯一!
这是一个大问题,因为它可能导致很大的错误。
我需要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链接到一个独特的对话窗口真的很复杂!
答案 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 ?
}
});
})
}
});