Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Lay Theme Forum

  1. Home
  2. General Discussion
  3. Costumized PayPal selection menu

Costumized PayPal selection menu

Scheduled Pinned Locked Moved General Discussion
paypalhtml editor
4 Posts 2 Posters 149 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    pat.rick
    wrote on Apr 3, 2020, 3:01 PM last edited by
    #1

    I’ve got an issue with a customized paypal button and the therefore modified select section (dropdownmenu). Unfortunately I’m not a coder. That’s why I have troubles figuring out the problem.

    The problem is that the code is not displayed right. When I take a look at the code saved as a .html-file it looks perfect in the browser, but as soon as I paste the html-code in Lay Theme the text as well as the spacing from the dropdownmenu to the button disappears.

    This is the code I copied into Lay Theme:

    <html>
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
    /the container must be positioned relative:/
    .custom-select {
    position: relative;
    font-family: Helvetica;
    }

    .custom-select select {
    display: none; /hide original SELECT element:/
    }

    .select-selected {
    background-color: #fff;
    }

    /point the arrow upwards when the select box is open (active):
    .select-selected.select-arrow-active:after {
    border-color: transparent transparent #fff transparent;
    top: 7px;
    }
    /

    /style the items (options), including the selected item:/
    .select-items div,.select-selected {
    color: #000;
    padding: 8px 16px;
    border: 1px solid transparent;
    border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
    cursor: pointer;
    user-select: none;
    }

    /style items (options):/
    .select-items {
    position: absolute;
    background-color: #fff;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 99;
    }

    /hide the items when the select box is closed:/
    .select-hide {
    display: none;
    }

    .select-items div:hover, .same-as-selected {
    background-color: rgba(0, 0, 0, 0.1);
    }
    </style>
    </head>

    <body>

    <form action="https://www.paypal.com/cgi-bin/webscr " method="post" target="_top">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="1234567890">
    <table>
    <tr><td>
    <input type="hidden" name="on0" value="order"></td></tr><tr><td>
    <div class="custom-select" style="width:200px;">
    <select name="os0">
    <option value="size">select size</option>
    <option value="small">small | 90 EUR</option>
    <option value="medium">medium | 90 EUR</option>
    <option value="large">large | 90 EUR</option>
    </select> </td></tr>
    </table>
    <br>
    <br>
    <input type="hidden" name="currency_code" value="EUR">
    <input type="image" src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_paynow_SM.gif " border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
    <img style="width: 1px; height: 1px;" alt="" border="0" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif " width="1" height="1">
    </form>

    <script>
    var x, i, j, selElmnt, a, b, c;
    /look for any elements with the class "custom-select":/
    x = document.getElementsByClassName("custom-select");
    for (i = 0; i < x.length; i++) {
    selElmnt = x[i].getElementsByTagName("select")[0];
    /for each element, create a new DIV that will act as the selected item:/
    a = document.createElement("DIV");
    a.setAttribute("class", "select-selected");
    a.innerHTML = selElmnt.options[selElmnt.selectedIndex].innerHTML;
    x[i].appendChild(a);
    /for each element, create a new DIV that will contain the option list:/
    b = document.createElement("DIV");
    b.setAttribute("class", "select-items select-hide");
    for (j = 1; j < selElmnt.length; j++) {
    /for each option in the original select element,
    create a new DIV that will act as an option item:
    /
    c = document.createElement("DIV");
    c.innerHTML = selElmnt.options[j].innerHTML;
    c.addEventListener("click", function(e) {
    /when an item is clicked, update the original select box,
    and the selected item:
    /
    var y, i, k, s, h;
    s = this.parentNode.parentNode.getElementsByTagName("select")[0];
    h = this.parentNode.previousSibling;
    for (i = 0; i < s.length; i++) {
    if (s.options[i].innerHTML == this.innerHTML) {
    s.selectedIndex = i;
    h.innerHTML = this.innerHTML;
    y = this.parentNode.getElementsByClassName("same-as-selected");
    for (k = 0; k < y.length; k++) {
    y[k].removeAttribute("class");
    }
    this.setAttribute("class", "same-as-selected");
    break;
    }
    }
    h.click();
    });
    b.appendChild(c);
    }
    x[i].appendChild(b);
    a.addEventListener("click", function(e) {
    /when the select box is clicked, close any other select boxes,
    and open/close the current select box:
    /
    e.stopPropagation();
    closeAllSelect(this);
    this.nextSibling.classList.toggle("select-hide");
    this.classList.toggle("select-arrow-active");
    });
    }
    function closeAllSelect(elmnt) {
    /a function that will close all select boxes in the document,
    except the current select box:
    /
    var x, y, i, arrNo = [];
    x = document.getElementsByClassName("select-items");
    y = document.getElementsByClassName("select-selected");
    for (i = 0; i < y.length; i++) {
    if (elmnt == y[i]) {
    arrNo.push(i)
    } else {
    y[i].classList.remove("select-arrow-active");
    }
    }
    for (i = 0; i < x.length; i++) {
    if (arrNo.indexOf(i)) {
    x[i].classList.add("select-hide");
    }
    }
    }
    /if the user clicks anywhere outside the select box,
    then close all select boxes:
    /
    document.addEventListener("click", closeAllSelect);
    </script>

    </body>
    </html>

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mariusjopen
      Global Moderator
      wrote on Apr 7, 2020, 11:01 AM last edited by
      #2

      Dear @pat-rick
      Because LayTheme is written as a single-page Javascript application, some things work differently.
      To use other JS code, please follow the documentary: http://laytheme.com/documentation.html#custom-javascript
      Some effects might not work or need adjustment.
      Best!
      Marius

      www.mariusjopen.world

      1 Reply Last reply
      0
      • P Offline
        P Offline
        pat.rick
        wrote on Apr 9, 2020, 4:06 PM last edited by
        #3

        Thank you Marius. That was helpful!

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mariusjopen
          Global Moderator
          wrote on Apr 14, 2020, 5:13 PM last edited by
          #4

          Dear @pat-rick
          Perfect! Glad to hear!
          Many wishes!
          Marius

          www.mariusjopen.world

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes

          4/4

          Apr 14, 2020, 5:13 PM


          I also code custom websites or custom Lay features.
          💿 Email me here: 💿
          info@laytheme.com

          Before you post:
          1. When using a WordPress Cache plugin, disable it or clear your cache.
          2. Update Lay Theme and all Lay Theme Addons
          3. Disable all Plugins
          4. Go to Lay Options → Custom CSS & HTML, click "Turn Off All Custom Code", click "Save Changes"

          This often solves issues you might run into

          When you post:
          1. Post a link to where the problem is
          2. Does the problem happen on Chrome, Firefox, Safari or iPhone or Android?
          3. If the problem is difficult to explain, post screenshots / link to a video to explain it
          Online Users
          M
          Markus
          4 minutes ago
          Forgot your key, lost your files, need a previous Lay Theme or Addon version? Go to www.laykeymanager.com
          laytheme.com
          • Login

          • Don't have an account? Register

          • Login or register to search.
          4 out of 4
          • First post
            4/4
            Last post
          0
          • Recent
          • Tags
          • Popular
          • Users
          • Search