0

我目前正在尝试重新创建在这里找到的这个 Javascript 片段(你必须向下滚动一点到它说Get Started的位置:Javascript Snippet

我在这个 codepen中重新创建了一个版本。但它不能正常工作。我基本上是在尝试在选择烟草/medshare 选项之前让这些值恢复到其原始值。但是,现在,他们不回去,我想不通:/

HTML 文件

<div class="w-full md:w-1/2 p-16 flex-grow-1 flex-shrink-1 text-gray-dark">
         <div class="card">
            <div class="bg-white rounded-18 p-16 relative z-1">
               <ul class="list-reset text-16 font-bold flex-grow-0 flex-shrink-0 flex flex-col justify-between">
                  <li>
                     <div class="mb-18 text-center flex-grow-0 flex-shrink-0">
                        <h4 class="flex justify-center items-center leading-none text-blue-light" style="margin-bottom: 0rem;"><span class="flex-grow-0 flex-shrink-0 text-24 md:text-48 -ml-14 md:-ml-20">$</span> <span class="flex-grow-0 flex-shrink-0 h1_xl2" id="price">319</span></h4>
                        <p class="text-18 font-normal" style="margin-bottom: 1rem">PER MONTH</p>
                     </div>
                  </li>
                  <li class="mb-4 flex-grow-0 flex-shrink-0">
                     <div class="mb-8">
                        <label class="check_box">
                           <input type="radio" id="m" name="radio" value="319" onclick="setPrice()"> 
                           <div class="flex justify-between flex-wrap text-14 sm:text-16 text-blue-light"><span class="flex-grow-0 flex-shrink-0 text-12 sm:text-16">Myself</span> <span class="flex-grow-0 flex-shrink-0 ml-4" id="myselfSmoke">$319/mo.</span></div>
                           <span class="radiomark"></span>
                        </label>
                     </div>
                  </li>
                  <li class="mb-4 flex-grow-0 flex-shrink-0">
                     <div class="mb-8">
                        <label class="check_box">
                           <input type="radio" id="ms" name="radio" value="639" onclick="setPrice()"> 
                           <div class="flex justify-between flex-wrap text-14 sm:text-16"><span class="flex-grow-0 flex-shrink-0 text-12 sm:text-16">Myself + Spouse</span> <span class="flex-grow-0 flex-shrink-0 ml-4" id="msSmoke">$639/mo.</span></div>
                           <span class="radiomark"></span>
                        </label>
                     </div>
                  </li>
                  <li class="mb-4 flex-grow-0 flex-shrink-0">
                     <div class="mb-8">
                        <label class="check_box">
                           <input type="radio" id="mc" name="radio" value="639" onclick="setPrice()"> 
                           <div class="flex justify-between flex-wrap text-14 sm:text-16"><span class="flex-grow-0 flex-shrink-0 text-12 sm:text-16">Myself + Children</span> <span class="flex-grow-0 flex-shrink-0 ml-4" id="mcSmoke">$639/mo.</span></div>
                           <span class="radiomark"></span>
                        </label>
                     </div>
                  </li>
                  <li class="mb-4 flex-grow-0 flex-shrink-0">
                     <div class="mb-8">
                        <label class="check_box">
                           <input type="radio" id="mf" name="radio" value="899" onclick="setPrice()"> 
                           <div class="flex justify-between flex-wrap text-14 sm:text-16"><span class="flex-grow-0 flex-shrink-0 text-12 sm:text-16">Myself + Family</span> <span class="flex-grow-0 flex-shrink-0 ml-4" id="mfSmoke">$899/mo.</span></div>
                           <span class="radiomark"></span>
                        </label>
                     </div>
                  </li>
                  <li class="flex-grow-0 flex-shrink-0 p-8 -mx-8 rounded-6 bg-blue-light">
                     <label class="check_box">
                        <input type="checkbox" name="areYouASmoker" id="smoker" onclick="setSmokerPrice()"> 
                        <div class="text-white">
                           <p class="text-14 leading-none text-center mr-32 md:mr-0">Yes. A member uses tobacco.</p>
                           <p class="text-12 leading-none font-normal text-center mr-32">($75 surcharge)</p>
                        </div>
                        <span class="checkmark"></span>
                     </label>
                  </li>
               </ul>
            </div>
            <div class="bg-gray-lightest px-16 pb-16 pt-48 -mt-32">
               <label class="check_box">
                  <input type="checkbox" name="sayNoToPlus" class="bg-white" id="sayNoToPlus" onclick="setMedicalSharePrice()"> 
                  <div>
                     <p class="leading-thin text-14 text-center mr-24">I have my own <br>Medical Cost Share / Insurance</p>
                  </div>
                  <span class="checkmark"></span>
               </label>
            </div>
         </div>
      </div>
   </div>
   <div class="mt-16">
      <!----> 
      <p class="text-16 mb-16 max-w-500 mx-auto text-center disclaimer">Members age 65 and over are not eligible for Medical Cost Share. Tobacco users will incur an extra $75 surcharge</p>
      <div class="max-w-330 mx-auto text-center"><a href="#" class="btn btn-solid circle btn-bordered border-thin ld_button_5fd7072c59fa5 vc_custom_1607629567903 lqd-unit-animation-done" style="opacity: 1;">
         <span>
         <span class="btn-txt">Enroll Now</span>
         <span class="btn-icon"><i class="icon-arrows_right"></i></span>            </span>
         </a>
      </div>
   </div>

JS文件

  var radios = document.getElementsByName("radio");
  var selected = Array.from(radios).find(radio => radio.checked);
  document.getElementById('price').innerHTML = selected.value;
  
  var myself = document.getElementById('m').checked;
  var MS = document.getElementById('ms').checked;
  var MC = document.getElementById('mc').checked;
  var MF = document.getElementById('mf').checked;

  if (myself === true) {
     document.getElementById('link').href = "https://www.1enrollment.com/order/checkout.cfm?id=575916&pdid=30894&benefitid=51&bSmoker=0&step=2&periodid=1";
  }
  else if (MS === true) {
      document.getElementById('link').href = "https://www.1enrollment.com/order/checkout.cfm?id=575916&pdid=30894&benefitid=41&bSmoker=0&step=2&periodid=1";
  }
    else if (MC === true) {
      document.getElementById('link').href = "https://www.1enrollment.com/order/checkout.cfm?id=575916&pdid=30894&benefitid=117&bSmoker=0&step=2&periodid=1";
  }
    else {
      document.getElementById('link').href = "https://www.1enrollment.com/order/checkout.cfm?id=575916&pdid=30894&benefitid=146&bSmoker=0&step=2&periodid=1";
  }
}

function setSmokerPrice() {
  var smoker = document.getElementById('smoker').checked;
    if (smoker === true) {
      document.getElementById('myselfSmoke').innerHTML = '$394/mo.';
      document.getElementById('msSmoke').innerHTML = '$714/mo.';
      document.getElementById('mcSmoke').innerHTML = '$714/mo.';
      document.getElementById('mfSmoke').innerHTML = '$974/mo.';

    document.getElementById('m').value = '394';
    document.getElementById('ms').value = '714';
    document.getElementById('mc').value = '714';
    document.getElementById('mf').value = '974';

         var myself = document.getElementById('m').checked;
  var MS = document.getElementById('ms').checked;
  var MC = document.getElementById('mc').checked;
  var MF = document.getElementById('mf').checked;
console.log(myself);
    var radios = document.getElementsByName("radio");
    var selected = Array.from(radios).find(radio => radio.checked);
    document.getElementById('price').innerHTML = selected.value;
  }
  else {
         document.getElementById('myselfSmoke').innerHTML = '$319/mo.';
      document.getElementById('msSmoke').innerHTML = '$639/mo.';
      document.getElementById('mcSmoke').innerHTML = '$639/mo.';
      document.getElementById('mfSmoke').innerHTML = '$899/mo.';
  }
  
}

function setMedicalSharePrice() {
 var medicalShare = document.getElementById('sayNoToPlus').checked;
 if (medicalShare === true) {
       document.getElementById('smoker').disabled = true;
          document.getElementById('smoker').checked = false;


    document.getElementById('myselfSmoke').innerHTML = '$125/mo.';
    document.getElementById('msSmoke').innerHTML = '$240/mo.';
    document.getElementById('mcSmoke').innerHTML = '$240/mo.';
    document.getElementById('mfSmoke').innerHTML = '$365/mo.';
  
  document.getElementById('m').value = '125';
  document.getElementById('ms').value = '240';
  document.getElementById('mc').value = '240';
  document.getElementById('mf').value = '365';
  
  var radios = document.getElementsByName("radio");
  var selected = Array.from(radios).find(radio => radio.checked);
  document.getElementById('price').innerHTML = selected.value;
 }
    else {
          document.getElementById('smoker').disabled = false;

         document.getElementById('myselfSmoke').innerHTML = '$319/mo.';
      document.getElementById('msSmoke').innerHTML = '$639/mo.';
      document.getElementById('mcSmoke').innerHTML = '$639/mo.';
      document.getElementById('mfSmoke').innerHTML = '$899/mo.';
  }
}



任何建议都会很棒,谢谢!

4

0 回答 0