Ankündigung

Einklappen
Keine Ankündigung bisher.

Codeerweiterung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Codeerweiterung

    Hallo Gemeinschaft,

    das ist mein php-Code, der aufgerufen wird, wenn eine Seite betreten wird

    PHP-Code:
                                                    <figcaption>
                                                        <h3><?php echo $trip['ShipName'?></h3><img class="star-level" src="images/5star.png" alt="" />
                                                        <div class="clear"></div>
                                                        <p>Reederei: <span data-role="reederei"><?php echo $trip['ReedereiName'?></span><br>
                                                        Boardsprache: <span data-role="onBoardLanguage"><?php echo $trip['OnBoardLanguage'?></span><br>
                                                        Anzahl Passagiere: <span data-role="maxPassengers"><?php echo $trip['MaxPassengers'?></span><br>
                                                        Restaurants: <span data-role="restaurants"><?php echo $trip['Restaurants'?></span><br>
                                                        Decks: <span data-role="decks"><?php echo $trip['Decks'?></span><br>
                                                        Baujahr: <span data-role="yearBuilt"><?php echo $trip['YearBuilt'?></span><br>
                                                        </p>
                                                        <div class="price-night"><span data-role="Link"><a href="https://seite.de/list29.php?search&ship=<?php echo $trip['ShipID']; ?>" class="btn btn-primary btn-gallery">Schiffsreisen mit der <?php echo $trip['ShipName']; ?></a></span></div>
                                                    </figcaption>
    nun kommt ein javascript zum arbeiten, wenn man in einer Auswahlbox einen anderen Wert eingibt
    PHP-Code:
                    function updateDisplay(o) {
                        
    //updateDateRanges(o.contentOfFields.dates?o.contentOfFields.dates:[]);
                        
    $('input[name=remCode]').val(o.remember);
                        
    // add new content
                        
    var nameMap = {
                            
    destination:{id:'DestinationID'text:'DestinationName'},
                            
    duration:{id:'id'text:'label'},
                            
    shipowningCompany:{id:'ReedereiID'text:'ReedereiName'},
                            
    ship:{id:'ShipID'text:'ShipName'},
                            
    stars:{id:'Stars'text:'Stars'}
                        };
                        
    console.log(o);
                        $.
    each(o.contentOfFields, function(inputNameval) {
                            var 
    $sel = $('select[name='+inputName+']');

                            
    $sel.children('option[value!=""]').remove();
                            if(
    inputName=='dates')
                                return;
                            
    val.forEach(function(entry) {
                                
    $option = $('<option></option>').text(entry[nameMap[inputName].text]).val(entry[nameMap[inputName].id]);
                                if(
    entry[nameMap[inputName].id]==o.facets[inputName])
                                    
    $option.attr('selected''selected');
                                
    $sel.append($option);
                            });
                        });
                        
    // update result count:
                        
    $('.search-results-title > p:eq(0)').text(parseInt(o.resultCount10).toLocaleString());
                        
    // update result list:
                        
    var $ul = $('#output ul');
                        var 
    $dummy $ul.children().eq(0).clone(true).removeClass('dummy');
                        
    $ul.children(':not(.dummy)').remove();
                        $.
    each(o.result, function() {
                            var 
    $li $dummy.clone(true);
                            
    $li.find('.cbp-vm-image.img > img').attr('src'this.ShipPicture);
                            
    $li.find('figcaption')  .children('h3').text(this.ShipName).end()
                                                    .
    children('img:eq(0)').attr('src','/images/'+this.Stars+'star.png').end()
                                                    .
    children('p')

     
    //                                             .find('div.link > span:eq(0)').html('<a class="btn btn-primary btn-gallery" href="https://seite.de/blog.php?routeid='+this.RouteID+'">Details</a> ').end()
    //                                                .find('div.zeit > span:eq(0)').text(this.TripBegins+'-' +this.TripEnds).end()
                                                    
    .find('span[data-role=reederei]').text(this.ReedereiName).end()
                                                    .
    find('span[data-role=onBoardLanguage]').text(this.OnBoardLanguage).end()
                                                    .
    find('span[data-role=maxPassengers]').text(this.MaxPassengers).end()
                                                    .
    find('span[data-role=restaurants]').text(this.Restaurants).end()
                                                    .
    find('span[data-role=decks]').text(this.Decks).end()
                                                    .
    find('span[data-role=yearBuilt]').text(this.YearBuilt).end()
                                                
    //    .find('span[data-role=ShipName1]').text(this.ShipName).end();


                            
    $ul.append($li
                              
    //  $('<li></li>').html('<a href="detail.php?routeid='+this.RouteID+'">Link</a> '+this.Name+' '+this.RouteID+' '+this.TripBegins+' '+this.DestinationID+' '+this.Duration)
                            
    );
                        });
                        
    updatePagination(o);
                    } 
    alle Felder werden auch geupdated - nur der Link
    PHP-Code:
    <div class="price-night"><span data-role="Link"><a href="https://seite.de/list29.php?search&ship=<?php echo $trip['ShipID']; ?>" class="btn btn-primary btn-gallery">Schiffsreisen mit der <?php echo $trip['ShipName']; ?></a></span></div>
    nicht - könnt ihr mir dabei helfen? - ich weiss nicht, wie ich das dort machen soll

    gruss

  • #2
    Es gibt dort keinen Code, der deinen Link updatet.

    Kommentar


    • #3
      Bei Deiner jQuery.find.text.end Orgie fehlt ein span data-role="Link" und die entsprechende Aktion.

      Ich würde mir überlegen, ob das so noch übersichtlich ist.

      Oft ist ein simpler TemplateString eingepflanzt mit insertAdjacentHTML einfacher zu handlen und zu verstehen.

      HTML-Code:
      <!DOCTYPE html>
      <html lang="de">
          <meta charset="utf-8">
          <title>Template</title>
          <div id=dispMyTempl></div>
      <script>   
          var $shipName = "Donald",    
              $guest = "Duck",
              $myTemplate = ` 
                <h3>Schiffname: ${$shipName}</h3>
                <p>Gast: ${$guest}
              `
          dispMyTempl.insertAdjacentHTML('beforeend',$myTemplate) 
      </script>
      Der Code läuft nicht unter IE -> babelJsCompiler hilft...

      Kommentar


      • #4
        wie würdest du den link dort einbinden
        PHP-Code:
        .find('span[data-role=Link]')..... ).end(); 
        -

        hab jetzt noch diesen Ansatz gefunden

        PHP-Code:
        .find('div.link > span:eq(0)').html 
        - weiss nur nicht, wie ich den link dort aufbauen muss

        Kommentar


        • #5
          Im Grund müsste man davon ausgehen, dass Du das so hinbekommst,
          Du hast doch wohl auch den Rest formuliert??

          Eines meiner seltenen jQuery Beispiele.

          (Du weißt wie Deine Variablen lauten und müsstest es entsprechend umändern)

          HTML-Code:
          <!DOCTYPE html>
          <html lang="de">
              <meta charset="utf-8">
              <title>Kutterfahrten</title>
              <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
              <figure id=test>
                <figcaption>
                  <div class="price-night">
                    <span data-role="Link">
                      <a href="https://seite.de/list29.php?search&ship=caribbean1" 
                        class="btn btn-primary btn-gallery">Abenteuerreisen mit der Black Pearl
                      </a>
                    </span>
                  </div>
                </figcaption>  
              </figure>
              <button class=myButton>Change Values</button>
          <script>   
            var MyNewShip = "caribbean2", 
              myNewCaption = "Flying Dutchman",
              myLinkTemplate = 'https://seite.de/list29.php?search&ship=',
              myLinkCaptionTemplate = 'Abenteuerreisen mit der '
          
            $('.myButton').click(function () {
              $('figure').find('span[data-role=Link] a[href]').
                attr('href', myLinkTemplate + MyNewShip).end()
                .find('span[data-role=Link] a[href]').text(myLinkCaptionTemplate + myNewCaption)
            })
          </script>

          Kommentar


          • #6
            wenn ich es so umstelle, dann bekommt der link keinen neuen wert
            PHP-Code:
                                var $ul = $('#output ul');
                                var 
            MyNewShip "caribbean2";
                                var 
            $dummy $ul.children().eq(0).clone(true).removeClass('dummy');
                                
            myNewCaption "Flying Dutchman",
                
            myLinkTemplate 'https://seite.de/list29.php?search&ship=',
                
            myLinkCaptionTemplate 'Abenteuerreisen mit der '
                                
            $ul.children(':not(.dummy)').remove();
                                $.
            each(o.result, function() {
                                    var 
            $li $dummy.clone(true);
                                    
            $li.find('.cbp-vm-image.img > img').attr('src'this.ShipPicture);
                                    
            $li.find('figcaption')  .children('h3').text(this.ShipName).end()
                                                            .
            children('img:eq(0)').attr('src','/images/'+this.Stars+'star.png').end()
                                                            .
            children('p')

             
            //                                             .find('div.link > span:eq(0)').html('<a class="btn btn-primary btn-gallery" href="https://online-kreuzfahrt24.de/blog.php?routeid='+this.RouteID+'">Details</a> ').end()
            //                                                .find('div.zeit > span:eq(0)').text(this.TripBegins+'-' +this.TripEnds).end()
                                                            
            .find('span[data-role=reederei]').text(this.ReedereiName).end()
                                                            .
            find('span[data-role=onBoardLanguage]').text(this.OnBoardLanguage).end()
                                                            .
            find('span[data-role=maxPassengers]').text(this.MaxPassengers).end()
                                                            .
            find('span[data-role=restaurants]').text(this.Restaurants).end()
                                                            .
            find('span[data-role=decks]').text(this.Decks).end()
                                                            .
            find('span[data-role=yearBuilt]').text(this.YearBuilt).end()



              .
            find('span[data-role=Link] a[href]').
                  
            attr('href'myLinkTemplate MyNewShip).end()
                  .
            find('span[data-role=Link] a[href]').text(myLinkCaptionTemplate myNewCaption

            Kommentar


            • #7
              Du suchst ja auch noch in '<p>'

              Kommentar


              • #8
                wie würdest du es denn ändern, damit ich den link finde

                Kommentar


                • #9
                  Eh sag mal, Du präsentierst hier einen Code, den Du scheinbar nicht selber geschrieben hast, sonst würdest Du ihn ja verstehen...

                  Schau Dir die Verschachtelung Deiner jQuery.find... Orgie an, dann müsstest Du doch selber erkennen woran es liegt. Mein letzer Tipp ist ein zusätzliches
                  Code:
                  end()
                  Dieser Code ist wie in #3 bereits angedeutet schwer wartbar, wenn Du ihn selber nicht verstehst, solltest Du evtl. doch mit Templatestrings arbeiten.

                  Kommentar


                  • #10
                    so klappt es auch nicht mit ddem end()
                    PHP-Code:
                                        var $ul = $('#output ul');
                                        var 
                    MyNewShip "caribbean2";
                                        var 
                    $dummy $ul.children().eq(0).clone(true).removeClass('dummy');
                                        
                    myNewCaption "Flying Dutchman";
                        
                    myLinkTemplate 'https://online-kreuzfahrt24.de/list29.php?search&ship=';
                        
                    myLinkCaptionTemplate 'Abenteuerreisen mit der ';
                                        
                    $ul.children(':not(.dummy)').remove();
                                        $.
                    each(o.result, function() {
                                            var 
                    $li $dummy.clone(true);
                                            
                    $li.find('.cbp-vm-image.img > img').attr('src'this.ShipPicture);
                                            
                    $li.find('figcaption')  .children('h3').text(this.ShipName).end()
                                                                    .
                    children('img:eq(0)').attr('src','/images/'+this.Stars+'star.png').end()
                                                                    .
                    children('p')

                     
                    //                                             .find('div.link > span:eq(0)').html('<a class="btn btn-primary btn-gallery" href="https://online-kreuzfahrt24.de/blog.php?routeid='+this.RouteID+'">Details</a> ').end()
                    //                                                .find('div.zeit > span:eq(0)').text(this.TripBegins+'-' +this.TripEnds).end()
                                                                    
                    .find('span[data-role=reederei]').text(this.ReedereiName).end()
                                                                    .
                    find('span[data-role=onBoardLanguage]').text(this.OnBoardLanguage).end()
                                                                    .
                    find('span[data-role=maxPassengers]').text(this.MaxPassengers).end()
                                                                    .
                    find('span[data-role=restaurants]').text(this.Restaurants).end()
                                                                    .
                    find('span[data-role=decks]').text(this.Decks).end()
                                                                    .
                    find('span[data-role=yearBuilt]').text(this.YearBuilt).end()
                                                                    .
                    find('span[data-role=Link] a[href]').attr('href'myLinkTemplate MyNewShip).end() 

                    Kommentar


                    • #11
                      ah - ich habs - vielen dank

                      Kommentar


                      • #12
                        na prima...

                        Kommentar


                        • #13
                          ich habs nun so gemacht
                          PHP-Code:
                          <span data-role="Link"><a href="https://seite.de/list29.php?search&ship=<?php echo $trip['ShipID']; ?>" class="btn btn-primary btn-gallery">Hier geht es zu den Angeboten</a></span>
                                                                              </p>
                          wie würdest du denn z.b. den namen mit reinbekommen

                          PHP-Code:
                          <span data-role="Link"><a href="https://seite.de/list29.php?search&ship=<?php echo $trip['ShipID']; ?>" class="btn btn-primary btn-gallery">Schiffsreisen mit der <?php echo $trip['ShipName']; ?></a></span>

                          Kommentar


                          • #14
                            jetzt mal "Butter bei die Fische" bist Du jetzt irgendeinen fremden Code am bearbeiten den Du nicht verstehst oder hast Du das selber verbrochen. Hast Du ihn selber verbrochen, so dürften Deine Fragen nicht kommen. Hast Du ihn irgendwo abgekupfert, bin ich nicht Dein Schreib- und Änderungsservice....

                            Kommentar

                            Lädt...
                            X