Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用带有下拉选择的自定义属性jQuery选择器(取2)_Javascript_Jquery_Forms_Jquery Selectors - Fatal编程技术网

Javascript 使用带有下拉选择的自定义属性jQuery选择器(取2)

Javascript 使用带有下拉选择的自定义属性jQuery选择器(取2),javascript,jquery,forms,jquery-selectors,Javascript,Jquery,Forms,Jquery Selectors,这个问题让我想砸烂我的电脑。我有一个表单,我想根据表单上的选择计算值。我这里有两个jsfiddle,我真的很想有它,这样我可以做出选择,然后点击计算。但我甚至不能让表单在click上运行。因此,另一个fiddle用于change和keyup函数。这张表格上也有一个问题。如果将第一个选择更改为选项2,您将看到该选择的值最终为1.37999996,而不是1.38。为什么会这样 JS: JS: 您的选择器$this.findoption:selected错误,因为此处指向submit按钮,因此您需

这个问题让我想砸烂我的电脑。我有一个表单,我想根据表单上的选择计算值。我这里有两个jsfiddle,我真的很想有它,这样我可以做出选择,然后点击计算。但我甚至不能让表单在click上运行。因此,另一个fiddle用于change和keyup函数。这张表格上也有一个问题。如果将第一个选择更改为选项2,您将看到该选择的值最终为1.37999996,而不是1.38。为什么会这样

JS:

JS:

您的选择器$this.findoption:selected错误,因为此处指向submit按钮,因此您需要使用其id样式查找select元素


演示:

非常好,谢谢。现在,我们来看看为什么这些值不能从数据价格中正确返回attribute@Potatrick你怎么说它没有返回正确的值?在第一次选择时使用选项2,看看它返回了什么。与正确值相差一分钟。这是浮点计算的问题:。。。您可以查看以确定十进制数places@Potatrick也看到
$('#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 );
});
$('#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 );
});
$('#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 );
});