2016-12-24 6 views
2

Ich habe das folgende Skript, wo ich einen Preis basierend auf Benutzereingabe Radio-Buttons berechnen und es in einen Abschnitt von HTML ausgeben. Das Skript funktioniert nicht korrekt im Internet Explorer. Es funktioniert in FF, Chrome, etc. Das Skript soll eine Eingabe von einem Radiobutton nehmen und dann basierend auf der Eingabe einen anderen Preis ausgeben. Es gibt keinen Preis in IE aus.Skript funktioniert nicht in IE

var newprice = "";   

function CalcPrice(){ 
    // I take the input from the radio buttons here 
    var goals = $("#menu input[type='radio']:checked").val(); 

    if (goals=="Weight Loss"){ 
     newprice="45"; 
    } else { 
     newprice="55"; 
    } 

    $('.pricetotal').html("$"+newprice.toFixed(2)); 
} 

HTML

<form class= "meal-table" id="meal-radio" onsubmit="return false"> 
      <fieldset id="menu"> 
     <input type="radio" id="radio01" name="menu" value="Weight Loss" /> 
     <input type="radio" id="radio02" name="menu" value= "Performance"/> 
      </fieldset> 
    <div> 
     <div class="meal-plan-btn"> 
     <button id="mealbtn" onclick="CalcPrice()">Add To Cart</button> 
    </div> 
</div> 
</form> 

// das ist, wo der Preis wird

  <div class="pricebox" id="priceboxmobile"> 
      <div class="pricetotal" > 
       <span ></span> 
      </div></div> 
+0

Kontrolle dieses http://stackoverflow.com/questions/412734/jquery-html-attribute-not-working-in-ie – Deep

+0

Hit F12 die Developer Tools zu öffnen. Wechseln Sie zur Registerkarte Konsole. Gibt es einen Skriptfehler? Welche IE-Version? – EricLaw

+0

Wie @EricLaw oben erwähnt, bitte klären Sie, welche Version von IE Sie verwenden. Einige ältere Versionen unterstützen möglicherweise kein allgemeines Javascript. – TrojanByAccident

Antwort

0

Eine Änderung dieser Linie

$('.pricetotal').html("$"+newprice.toFixed(2)); 

Um injiziert werden:

$('.pricetotal').empty().html("$"+newprice.toFixed(2)); 

Scheint zu funktionieren, weiß jemand warum?

+0

Ich kann meine eigene Antwort nicht akzeptieren, aber das ist die Antwort –

1

denke ich, wenn Sie

$('.pricetotal').html("$"+newprice.toFixed(2)); 

zu

$('.pricetotal span').html("$"+newprice.toFixed(2)); 

es behoben werden ändern.

IE ist ein Stickler für diese Art von Dingen.
Aber in diesem Fall ist es, was Sie sowieso wollen, sonst wird Ihre span wird entfernt.
Alternativ entfernen Sie die span insgesamt ..