我想从按钮和href中总结2个输入。这是我的代码
这是HTML CODE
<a id="add1" class="thumbnail" alt="100000" href="">one</a>
<br>
<a id="add1" class="thumbnail" alt="150000" href="">two</a>
<br>
<a id="add1" class="thumbnail" alt="90000" href="">theree</a>
<hr>
<hr>
<input class="add2" type="radio" value="1" alt="100000" name="material">
LACE
<br>
<input class="add2" type="radio" value="2" alt="200000" name="material">
LACE - LEATHER
<br>
<input class="add2" type="radio" value="3" alt="150000" name="material">
LACE - SUEDE
<br>
<hr>
<hr>
<img src="" alt="0" id="mainImage" class="pret">
<div id="cau" alt="0"class="pret"></div>
<div id="usertotal"> PRICE : IDR 0</div>
这是Jquery
<script type="text/javascript">
$(document).ready(function() {
$('.thumbnail').live("click", function() {
var g = $(this).attr('alt');
var e = $(this).attr('href');
calculateSum();
$('#mainImage').hide();
$('#mainImage').html('<img class="pret" alt="'+g+'" src="'+e+'">').fadeIn();
return false;
});
$('.add2:checked').change(function(){
var m = $(this).attr('alt');
var a = $(this).attr('value');
alert(m);
calculateSum();
$('#cau').hide();
$('#cau').html('<div name="'+a+'" class="pret" alt="'+m+'"></div>').fadeIn();
return false;
});
});
function calculateSum() {
var sum = 0;
$(".pret").each(function() {
sum += parseFloat($(this).attr('alt'));
});
$('#usertotal').html('PRICE : IDR '+ sum);
}
</script>
问题是:为什么我的代码运行得如此之慢?我必须点击两次才能总结出来吗?我想让它一键运行。
谢谢你回答:) 此致
答案 0 :(得分:1)
我发现你的代码存在很多问题,所以我不知道究竟是什么导致了你的问题。
首先关闭:您需要在alt属性和类属性之间留一个空格,如下所示:
<div id="cau" alt="0" class="pret"></div>
其次:
$('#mainImage').html('<img class="pret" alt="'+g+'" src="'+e+'">').fadeIn();
这甚至不能正常工作,因为你不能把html“放在”一个图像元素中(#mainImage
毕竟是一个<img />
元素。)
第三
$('.add2:checked').change(function(){
这不应对您发布的代码执行任何操作,因为在页面加载时没有检查类.add2
的元素。因此,这个处理程序永远不会做任何事情。