Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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/9/csharp-4.0/2.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
jquery函数中的小计(.click issues?)_Jquery - Fatal编程技术网

jquery函数中的小计(.click issues?)

jquery函数中的小计(.click issues?),jquery,Jquery,此函数仅小计我在使用带有单选按钮的.hasVal类时上次单击的值。有什么想法吗 更新:这里是JSFIDLE链接: 基本上,我的HTML表单有一个带有值的字段集: <fieldset id="breadOptions" class="hidden"> <legend>Select one</legend> <input type="radio" name="breadType" id="breadWhite" class="hasVal"

此函数仅小计我在使用带有单选按钮的.hasVal类时上次单击的值。有什么想法吗

更新:这里是JSFIDLE链接:

基本上,我的HTML表单有一个带有值的字段集:

<fieldset id="breadOptions" class="hidden">
    <legend>Select one</legend>
    <input type="radio" name="breadType" id="breadWhite" class="hasVal" value=".5,260" /> White (260 calories)<br />
    <input type="radio" name="breadType" id="breadWheat" class="hasVal" value=".5,360" /> Wheat (360 calories)<br />
</fieldset>​

您可以将HTML5数据属性用于价格和卡路里,如下所示:

<input type="radio" ... data-cost=".5" data-cal="260" value="white" /> White (260 calories)
<input type="radio" ... data-cost=".5" data-cal="360" value="wheat" /> Wheat (360 calories)
以下是一个工作示例:


下面是一个无法使用HTML5数据属性的示例:

如果我理解正确,您的投诉是当您单击单选按钮时,您只会显示一个反映您最近单击的值的小计。是这样吗?如果您发布您正在使用的
HTML代码的其余部分(我假设三明治的成分不仅仅是面包),这会有所帮助

现在,我已经将您的代码放到了一个JSFIDLE中:只做了一些更改


一旦你解释得更多一些,并提供了更多的
HTML代码,我将很乐意进一步帮助你。

你尝试过在值中不使用逗号吗?你尝试过
+=
而不是
=
循环中使用
=
。each()
吗?此时,每个迭代都会覆盖上一个值,而不是添加到它。此外,您还在内部函数和外部函数中定义了
totalCal
。@JonathandeM。有两个值是用逗号分隔的。@nnnnnnnn用这种方式更改它会极大地影响数学。我不确定已经错误的数学怎么会被抛弃。你需要仔细观察你的循环——现在它一遍又一遍地分配相同的值,但是它应该做什么呢?(我的猜测是循环之前的三行应该在循环中,使用
this.value.split(',')
而不是
tar.value.split(',')
,然后我以前的
+=
建议应用于已经在循环中的行。)我需要一点时间来测试这一点,但如果有效,我会将它标记出来!这是一个非常有用的建议!您是否已确定是否想要或能够使用HTML5数据结构?
<input type="radio" ... data-cost=".5" data-cal="260" value="white" /> White (260 calories)
<input type="radio" ... data-cost=".5" data-cal="360" value="wheat" /> Wheat (360 calories)
$('input:radio:checked').each(function() {
    var input = $(this);
    price += parseFloat(input.attr('data-cost'), 10);
    cal += parseInt(input.attr('data-cal'), 10);
});