这个问题让我想砸了我的电脑。我有一个表单,我想从表单上的选择中计算值。我这里有两个jsfiddle,我真的很想拥有它,这样我就可以进行选择,然后点击计算。但我甚至无法点击表单进行操作。因此,另一把小提琴使用了变化和键控功能。表格上也有一个问题。如果您将第一个选择更改为"选项2",您会看到该选择的值最终为"1.379999999996",而不是"1.38"。为什么会发生这种情况?
Fiddle with click功能JS:
$('#submit').click(function(){
var price=$(this).find("option:selected").attr('data-price');
var ink=$('#ink').val();
var loc1=$('#loc1').val();
var res= price*1 + ink*1 + loc1*1 ;
$('#bleh').val( res || 0 );
});
摆弄更改和键控功能JS:
$('#ink, #loc1, .sel').on('keyup change',function(){
var price=$('option:selected', this).attr('data-price');
var ink=$('#ink').val();
var loc1=$('#loc1').val();
var res= price*1 + ink*1 + loc1*1 ;
$('#bleh').val( res || 0 );
});
您的选择器$(this).find("option:selected")
错误,因为这里的this
指向#submit
按钮,所以您需要使用其id #style
找到select元素
$('#submit').click(function(){
var price=$('#style').find("option:selected").attr('data-price');
var ink=$('#ink').val();
var loc1=$('#loc1').val();
var res= price*1 + ink*1 + loc1*1 ;
$('#bleh').val( res || 0 );
});
演示:Fiddle