0

何らかの理由で、このコードは Safari では機能しません。最初のラジオ ボックスは問題ありませんが、2 番目のラジオ ボックスをチェックするとすぐに計算されません。http://jsfiddle.net/njyEP/

ありがとう

Javascript:

$("input[type=radio][name=radio],select").change(function() {

var radio = parseFloat($('#radio:checked').attr("tvalue")); 
var select = parseFloat($('#select').val());

$('#Total').text((select * radio)); 

});

html

<form method="post" action="">
<select name="select" id="select" name="select"><option value="1">1</option><option     value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>
</select>

<div id="radioButtons"><input type="radio" class="multi" name="radio" id="radio" ivalue="1" tvalue="275" value="1185">Earlybird 1 Day Registration  $275<br>
<input type="radio" class="multi" name="radio" id="radio" ivalue="2" tvalue="475" value="1186">Earlybird 2 Day Registration  $475<br>
<input type="radio" class="multi" name="radio" id="radio" ivalue="3" tvalue="625" value="1187">Earlybird 3 Day Registration (all three days)  $625<br>
</div><div id="checkBoxes">

<br><label id="Total"></label><br></form>
4

2 に答える 2

0

同じIDで複数の要素を定義しないでください。サンプルをSafariで機能させるには、2番目のJavaScript行を次のように変更します。

var radio = parseFloat($('input[type=radio]:checked').attr("tvalue")); 

http://jsfiddle.net/2TCGp/

(または、devnull69のアドバイスに従い、data-tvalueを使用する場合は、jQueryの.data()メソッドを使用できます)。

于 2012-11-14T09:37:37.237 に答える
0

あなたの主な問題は、ページ上のすべての id 属性が一度しか表示されないことです。複数の要素に同じ id 属性を指定することは意味的に違法です

于 2012-11-14T09:30:33.137 に答える