乘法无线电和选择功能在safari中不起作用

时间:2012-11-14 09:27:23

标签: javascript jquery safari

由于某种原因,这段代码在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>

2 个答案:

答案 0 :(得分:0)

您的主要问题是页面上的每个id属性只能出现一次。为多个元素提供相同的id属性在语义上是非法的

答案 1 :(得分:0)

您不应该定义具有相同ID的多个元素。 要使您的示例在Safari中工作,请将第二个javascript行更改为

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

http://jsfiddle.net/2TCGp/

(或者,如果你遵循devnull69的建议并使用data-tvalue,你可以使用jQuery的.data()方法)。