Ergebnis 1 bis 3 von 3

Thema: Array mit einem Schlüsselwert in Options legen und nach dem Schlüsselwert loopen

  1. #1
    Benutzer
    Registriert seit
    31.10.2012
    Beiträge
    59

    Array mit einem Schlüsselwert in Options legen und nach dem Schlüsselwert loopen

    Hallo,
    ich habe hier ein Plugin, das nicht richtig funktioniert:

    ich möchte ein Array in die Options legen und dieses nach einem Schlüsselwert ausgeben. Eben nur die Werte, die im Layer geladen werden:


    PHP-Code:

    $(document).ready(function() { 
                        
             var 
    productkeys = { };            
                                                                                                                                                                                                                                                  
             
    productConfig = $('.product_1786').productConfig({
             
            
             
    product_config: {
            
             
    to_insert_key_for_free_length1,
             
             
    defaultkey'11080',          
             
    //1786 ist der Schlüsselwert
             
    productkeys['1786'] = {'0':'AZP/33/175/06/1050' } , {'1''/900' } , {'2''/oxidrot' } , {'2''/anthrazitgrau' } , {'2''/moosgrün' } , {'2''/kupferbraun' } , {'2''/ziegelbraun' } , {'2''/altschindel'  },
              
             
    cut'',
             
    freelength'0',
             
             
    product_id1786,
             
    total_price'11.96',
             
             
    width1150                  
             
    }
             });
               
          }); 

    PHP-Code:
    // the semi-colon before function invocation is a safety net against concatenated
    // scripts and/or other plugins which may not be closed properly.
    ;( function( $, windowdocumentundefined ) {

        
    "use strict";

            
    // undefined is used here as the undefined global variable in ECMAScript 3 is
            // mutable (ie. it can be changed by someone else). undefined isn't really being
            // passed in so we can ensure the value of it is truly undefined. In ES5, undefined
            // can no longer be modified.

            // window and document are passed through as local variables rather than global
            // as this (slightly) quickens the resolution process and can be more efficiently
            // minified (especially when both are regularly referenced in your plugin).

            // Create the defaults once
            
    var pluginName "productConfig",
                
    defaults = {
                    
    product_config: {
            
             
    _productkey: {},
             

             
             
    _label: {},
             
    _index: {}, 
             
    _id: {},
             
              
    cut'',
             
    freelength'',
             
             
    product_id0,
             
    total_price'0',
             
    width0,
             
    defaultkey0
           
    }   
                };

            
    // The actual plugin constructor
            
    function Plugin elementoptions ) {
        
        
        
                
    this.element element;
                    
                
    // jQuery has an extend method which merges the contents of two or
                // more objects, storing the result in the first object. The first object
                // is generally empty as we don't want to alter the default options for
                // future instances of the plugin
                
    this.settings = $.extend( {}, defaultsoptions );
                
    this._defaults defaults;
                
    this._name pluginName;
                
    this.init();
            }

            
    // Avoid Plugin.prototype conflicts
            
    $.extendPlugin.prototype, {
                
    init: function() {

                    
    // Place initialization logic here
                    // You already have access to the DOM element and
                    // the options via the instance, e.g. this.element
                    // and this.settings
                    // you can add more functions like the one below and
                    // call them like the example below
                    
    this.initialize();
            
            return 
    this;
                },
          
           
    initialize: function() {
           
           var 
    this_ this;
                 var 
    sum this_.settings.product_config.total_price;
                      
            $(
    '.product_' this_.settings.product_config.product_id ' option:selected').each(function() {
       
            if($(
    this).val() != '0')
            
    sum *= $(this).val();
            
            
            }); 
          
                 
          
          
          var 
    totalSum sum.toFixed(2);
        
          var 
    sumTohidden sum.toFixed(2);
                      
          $(
    '.product_' this_.settings.product_config.product_id '  .totalPrice span').html(totalSum);
       
          $(
    '.product_' this_.settings.product_config.product_id '  .total').val(sumTohidden);  
     
        
          $(
    '.product_' this_.settings.product_config.product_id ' input[name=product_code]').val(this.showValues(this_));
                                                                                                       
          $(
    '.product_' this_.settings.product_config.product_id ' .productID_' this_.settings.product_config.product_id '').html(this.showValues(this_));
      
            }, 
            
          
    showValues: function(that) {
         
          var 
    collect '';
          
          var 
    this_ that
    //     this_.settings.product_config.product_id  ist der Schlüsselwert für die Ausgabe
          
    var searchkey this_.settings.product_config.productkeys[this_.settings.product_config.product_id];
           
          $.
    each(searchkey, function( ikey ) { 
                                                            
           if(
    == this_.settings.product_config.to_insert_key_for_free_length) {        
           
           var 
    checklength key[i].replace('/''') / 1000;
           
           if(
    this_.settings.product_config.cut == 'ja') {
           
           var 
    zuschnitt_laenge checklength;
          
           $(
    '.product_' this_.settings.product_config.product_id ' input[name=zuschnitt]').val(zuschnitt_laenge);
          
           $(
    '.product_' this_.settings.product_config.product_id ' :input[name=zuschnitt_saved]').val(zuschnitt_laenge);
         
           }
           
         
           
       
           
    collect += key[i];
           
           } else {
           
        
           
    collect += key[i];
                         
           }              
           
           });        
         
        
                   
                     
        return 
    collect;
      }
      
      });

            
    // A really lightweight plugin wrapper around the constructor,
            // preventing against multiple instantiations
            
    $.fnpluginName ] = function( options ) {
                return 
    this.each( function() {
                    if ( !$.
    datathis"plugin_" pluginName ) ) {
                        $.
    datathis"plugin_" +
                            
    pluginName, new Pluginthisoptions ) );
                    }
                } );
            };

    } )( 
    jQuerywindowdocument ); 
    Kann mir jemand einen Tipp geben, wie ich das hinbekomme?
    Geändert von sanktusm (13.12.2017 um 15:18 Uhr)

  2. #2
    Erfahrener Benutzer
    Registriert seit
    29.10.2014
    Beiträge
    534
    Ich verstehe die Frage nicht.
    i++; // zaehler i um 1 erhoehen

  3. #3
    Neuer Benutzer
    Registriert seit
    26.07.2019
    Ort
    Panama
    Beiträge
    20

    Array mit einem Schlüsselwert in Options legen und nach dem Schlüsselwert loopen

    kann es sein, dass seit dem letzten serverupdate das plugin zwar funktioniert, im battlelog jedoch immer die max. spielerzahl angezeigt wird??

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •