Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1411 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_dir.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
            data["mode"] = "dir";
58
            $.getJSON("/vportale/json.php", data, function(json) {
59
            /* If select already had something selected, preserve it. */
60
            var selected_key = $(':selected', self).val();
61
 
62
            /* Clear the select. */
63
            $("option", self).remove();
64
 
65
            var option_list = [];
66
            if ($.isArray(json)) {
67
                /* JSON is already an array (which preserves the ordering of options) */
68
                /* [["","--"],["series-1","1 series"],["series-3","3 series"]] */
69
                option_list = json;
70
            }
71
            else
72
            {
73
                /* JSON is an JavaScript object. Rebuild it as an array. */
74
                /* {"":"--","series-1":"1 series","series-3":"3 series"} */
75
                for (var key in json) {
76
                    if (json.hasOwnProperty(key)) {
77
                        option_list.push([key, json[key]]);
78
                    }
79
                }
80
            }
81
 
82
 
83
            /* Add new options from json. */
84
            for (var i=0; i!==option_list.length; i++)
85
            {
86
                var key = option_list[i][0];
87
                var value = option_list[i][1];
88
 
89
                /* Set the selected option from JSON. */
90
                if ("selected" === key)
91
                {
92
                    selected_key = value;
93
                    continue;
94
                }
95
                var option = $("<option />").val(key).append(value);
96
                $(self).append(option);
97
            }
98
 
99
            /* Loop option again to set selected. IE needed this... */
100
            $(self).children().each(function()
101
            {
102
                if ($(this).val() === selected_key) {
103
                    $(this).attr("selected", "selected");
104
                }
105
            });
106
 
107
            /* Force updating the children. */
108
            //$(self).trigger("change");
109
 
110
 
111
            });
112
        }
113
        ErsteEbene();
114
 
115
(function($) {
116
    //"use strict";
117
    $.fn.remoteChained = function(parent_selector, url, options) {
118
        //parent_selector="#category";
119
 
120
        return this.each(function() {
121
 
122
            /* Save this to self because this changes when scope changes. */
123
            var self   = this;
124
            var backup = $(self).clone();
125
 
126
            /* Handles maximum two parents now. */
127
            $(parent_selector).each(function() {
128
                $(this).bind("change", function() {
129
 
130
                    /* Build data array from parents values. */
131
                    var data = {};
132
                    $(parent_selector).each(function() {
133
                        var ebene = this.id.substr(5,1);
134
                        var value = $(":selected", this).val();
135
                        var name = $(":selected", this).text();
136
                        vPId=$('#vportale_sel').val();
137
                        data["vPId"] = vPId;
138
                        data["mode"] = "dir";
139
                        if(name)
140
                        {
141
                            if(ebene >= 2)
142
                            {
143
                                $.get("/vportale/only_end_cats.php?vPId="+vPId,function(only_end_cats){
144
                                    //console.log(only_end_cats);
145
                                    if(only_end_cats==0)
146
                                    {
147
                                        $(".buttonx").show();
148
                                    }
149
                                    else
150
                                    {
151
                                        $('.buttonx').hide();
152
                                    }
153
                                })
154
                            }
155
                            data["category"] = value;
156
                            $("#EbayCatName").html(name);
157
                            $('#EbayCat').html(value);
158
                        }
159
                    });
160
 
161
                    $.getJSON(url, data, function(json) {
162
                        /* If select already had something selected, preserve it. */
163
                        var selected_key = $(':selected', self).val();
164
 
165
                        /* Clear the select. */
166
                        $("option", self).remove();
167
 
168
                        var option_list = [];
169
                        if ($.isArray(json)) {
170
                            /* JSON is already an array (which preserves the ordering of options) */
171
                            /* [["","--"],["series-1","1 series"],["series-3","3 series"]] */
172
                            option_list = json;
173
                        } else {
174
                            /* JSON is an JavaScript object. Rebuild it as an array. */
175
                            /* {"":"--","series-1":"1 series","series-3":"3 series"} */
176
                            for (var key in json) {
177
                                if (json.hasOwnProperty(key)) {
178
                                    option_list.push([key, json[key]]);
179
                                }
180
                            }
181
                        }
182
 
183
 
184
                        /* Add new options from json. */
185
                        for (var i=0; i!==option_list.length; i++) {
186
                            var key = option_list[i][0];
187
                            var value = option_list[i][1];
188
 
189
                            /* Set the selected option from JSON. */
190
                            if ("selected" === key) {
191
                                selected_key = value;
192
                                continue;
193
                            }
194
                            var option = $("<option />").val(key).append(value);
195
                            $(self).append(option);
196
                        }
197
 
198
                        /* Loop option again to set selected. IE needed this... */
199
                        $(self).children().each(function() {
200
                            if ($(this).val() === selected_key) {
201
                                $(this).attr("selected", "selected");
202
                            }
203
                        });
204
 
205
                        if(option_list.length == 1)
206
                        {
207
                            if(option_list[0][0]=== "eb")
208
                            {
209
                               var divEbayCat = document.getElementById("EbayCat");
210
                               divEbayCat.innerHTML = option_list[0][1];
211
                               /*var divEbayCatName = document.getElementById("EbayCatName");
212
                               divEbayCatName.innerHTML = option_list[0][0];*/
213
                               $(".buttonx").show();
214
 
215
                            } else {
216
                            }
217
 
218
                           $(self).hide("slide", "", 200);
219
                           return true;
220
                        } else {
221
                             $(self).show("slide", "", 200);
222
                            //$(self).removeAttr("hidden");
223
 
224
                        }
225
 
226
                        /* Force updating the children. */
227
                        $(self).trigger("change");
228
 
229
 
230
                    });
231
 
232
                });
233
 
234
                /* Force updating the children. */
235
                $(this).trigger("change");
236
 
237
            });
238
        });
239
    };
240
 
241
    /* Alias for those who like to use more English like syntax. */
242
    $.fn.remoteChainedTo = $.fn.remoteChained;
243
 
244
})(jQuery);