Subversion-Projekte lars-tiefland.webanos.zeldi.de

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
4 lars 1
        /*
2
         * Remote Chained - jQuery AJAX(J) chained selects plugin
3
         *
4
         * Copyright (c) 2010-2013 Mika Tuupola
5
         *
6
         * Licensed under the MIT license:
7
         *   http://www.opensource.org/licenses/mit-license.php
8
         *
9
         * Project home:
10
         *   http://www.appelsiini.net/projects/lazyload
11
         *
12
         * Version:  0.9.3
13
         *
14
         */
15
        //$Id: jquery.chained.remote.js 2896 2022-03-29 14:30:51Z tiefland $
16
        $(".buttonx").button().click(function()
17
        {
18
            Kategorie_fill();
19
        });
20
        function Kategorie_fill()
21
        {
22
            var divEbayCat = document.getElementById("EbayCat")
23
            var divEbayCatName = document.getElementById("EbayCatName");
24
            var typ=$('#typ').val();
25
            if(typ=="d")
26
            {
27
                $('#cat_name').html(divEbayCatName.innerHTML);
28
                $('#cat_id').val(divEbayCat.innerHTML);
29
                $('#cat_id_out').html(divEbayCat.innerHTML);
30
                $('#newCategoryForm').formwizard("next");
31
            }
32
            else
33
            {
34
                /* Kategorie in Hauptformular schreiben */
35
                c_id=$('#cat_selected').val();
36
                document.forms["vportale_artikel_form"].elements["kategorie_"+c_id].value = divEbayCat.innerHTML;
37
                $('#delcat_'+c_id).show();
38
                document.getElementById("kategorie"+c_id).innerHTML = divEbayCatName.innerHTML;
39
                $( "#link_cat_dlg" ).dialog("close");
40
            }
41
        }
42
        /*
43
         * Erste Ebene laden
44
         *
45
        */
46
        function ErsteEbene()
47
        {
48
            var self   = "#ebene1";
49
            var data = {};
50
            vPId=$('#vportale_sel').val();
51
            if(vPId==undefined)
52
            {
53
                vPId=$('#vportal_id').val();
54
            }
55
            data["category"] = "NULL";
56
            data["vPId"] = vPId;
57
            $.getJSON("/vportale/json.php", data, function(json) {
58
            /* If select already had something selected, preserve it. */
59
            var selected_key = $(':selected', self).val();
60
 
61
            /* Clear the select. */
62
            $("option", self).remove();
63
 
64
            var option_list = [];
65
            if ($.isArray(json)) {
66
                /* JSON is already an array (which preserves the ordering of options) */
67
                /* [["","--"],["series-1","1 series"],["series-3","3 series"]] */
68
                option_list = json;
69
            }
70
            else
71
            {
72
                /* JSON is an JavaScript object. Rebuild it as an array. */
73
                /* {"":"--","series-1":"1 series","series-3":"3 series"} */
74
                for (var key in json) {
75
                    if (json.hasOwnProperty(key)) {
76
                        option_list.push([key, json[key]]);
77
                    }
78
                }
79
            }
80
 
81
 
82
            /* Add new options from json. */
83
            for (var i=0; i!==option_list.length; i++)
84
            {
85
                var key = option_list[i][0];
86
                var value = option_list[i][1];
87
 
88
                /* Set the selected option from JSON. */
89
                if ("selected" === key)
90
                {
91
                    selected_key = value;
92
                    continue;
93
                }
94
                var option = $("<option />").val(key).append(value);
95
                $(self).append(option);
96
            }
97
 
98
            /* Loop option again to set selected. IE needed this... */
99
            $(self).children().each(function()
100
            {
101
                if ($(this).val() === selected_key) {
102
                    $(this).attr("selected", "selected");
103
                }
104
            });
105
 
106
            /* Force updating the children. */
107
            //$(self).trigger("change");
108
 
109
 
110
            });
111
        }
112
        ErsteEbene();
113
 
114
(function($) {
115
    //"use strict";
116
    $.fn.remoteChained = function(parent_selector, url, options) {
117
        //parent_selector="#category";
118
 
119
        return this.each(function() {
120
 
121
            /* Save this to self because this changes when scope changes. */
122
            var self   = this;
123
            var backup = $(self).clone();
124
 
125
            /* Handles maximum two parents now. */
126
            $(parent_selector).each(function() {
127
                $(this).bind("change", function() {
128
 
129
                    /* Build data array from parents values. */
130
                    var data = {};
131
                    $(parent_selector).each(function() {
132
                        var ebene = this.id.substr(5,1);
133
                        var value = $(":selected", this).val();
134
                        var name = $(":selected", this).text();
135
                        vPId=$('#vportale_sel').val();
136
                        data["vPId"] = vPId;
137
                        if(name)
138
                        {
139
                            if(ebene >= 2)
140
                            {
141
                                $.get("/vportale/only_end_cats.php?vPId="+vPId,function(only_end_cats){
142
                                    //console.log(only_end_cats);
143
                                    if(only_end_cats==0)
144
                                    {
145
                                        $(".buttonx").show();
146
                                    }
147
                                    else
148
                                    {
149
                                        $('.buttonx').hide();
150
                                    }
151
                                })
152
                            }
153
                            data["category"] = value;
154
                            $("#EbayCatName").html(name);
155
                            $('#EbayCat').html(value);
156
                        }
157
                    });
158
 
159
                    $.getJSON(url, data, function(json) {
160
                        /* If select already had something selected, preserve it. */
161
                        var selected_key = $(':selected', self).val();
162
 
163
                        /* Clear the select. */
164
                        $("option", self).remove();
165
 
166
                        var option_list = [];
167
                        if ($.isArray(json)) {
168
                            /* JSON is already an array (which preserves the ordering of options) */
169
                            /* [["","--"],["series-1","1 series"],["series-3","3 series"]] */
170
                            option_list = json;
171
                        } else {
172
                            /* JSON is an JavaScript object. Rebuild it as an array. */
173
                            /* {"":"--","series-1":"1 series","series-3":"3 series"} */
174
                            for (var key in json) {
175
                                if (json.hasOwnProperty(key)) {
176
                                    option_list.push([key, json[key]]);
177
                                }
178
                            }
179
                        }
180
 
181
 
182
                        /* Add new options from json. */
183
                        for (var i=0; i!==option_list.length; i++) {
184
                            var key = option_list[i][0];
185
                            var value = option_list[i][1];
186
 
187
                            /* Set the selected option from JSON. */
188
                            if ("selected" === key) {
189
                                selected_key = value;
190
                                continue;
191
                            }
192
                            var option = $("<option />").val(key).append(value);
193
                            $(self).append(option);
194
                        }
195
 
196
                        /* Loop option again to set selected. IE needed this... */
197
                        $(self).children().each(function() {
198
                            if ($(this).val() === selected_key) {
199
                                $(this).attr("selected", "selected");
200
                            }
201
                        });
202
 
203
                        if(option_list.length == 1)
204
                        {
205
                            if(option_list[0][0]=== "eb")
206
                            {
207
                               var divEbayCat = document.getElementById("EbayCat");
208
                               divEbayCat.innerHTML = option_list[0][1];
209
                               /*var divEbayCatName = document.getElementById("EbayCatName");
210
                               divEbayCatName.innerHTML = option_list[0][0];*/
211
                               $(".buttonx").show();
212
 
213
                            } else {
214
                            }
215
 
216
                           $(self).hide("slide", "", 200);
217
                           return true;
218
                        } else {
219
                             $(self).show("slide", "", 200);
220
                            //$(self).removeAttr("hidden");
221
 
222
                        }
223
 
224
                        /* Force updating the children. */
225
                        $(self).trigger("change");
226
 
227
 
228
                    });
229
 
230
                });
231
 
232
                /* Force updating the children. */
233
                $(this).trigger("change");
234
 
235
            });
236
        });
237
    };
238
 
239
    /* Alias for those who like to use more English like syntax. */
240
    $.fn.remoteChainedTo = $.fn.remoteChained;
241
 
242
})(jQuery);