由于某种原因,这段代码在Safari中不起作用,任何人都有任何线索为什么? 第一个收音机盒很好,但是一旦我检查了第二个收音机盒,它就不会计算出来。 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>
答案 0 :(得分:0)
您的主要问题是页面上的每个id属性只能出现一次。为多个元素提供相同的id属性在语义上是非法的
答案 1 :(得分:0)
您不应该定义具有相同ID的多个元素。 要使您的示例在Safari中工作,请将第二个javascript行更改为
var radio = parseFloat($('input[type=radio]:checked').attr("tvalue"));
(或者,如果你遵循devnull69的建议并使用data-tvalue,你可以使用jQuery的.data()方法)。