0

我使用 fiddle.com 网站制作了JavaScript代码。但在小提琴中,我只能通过使用

没有包裹(身体)

选项。我不确定这个选项有什么作用。Fiddle 的链接在这里。我将此脚本添加到我的Blogger博客,但它不起作用。

代码

function getTotal(){
    var form = document.theForm;
    var inputs = form.getElementsByTagName('input');
    var length = inputs.length;
    var total = '0';

    for (i = 0; i<length-1; i++){
        if(inputs[i].type == 'radio'){
            var checked = inputs[i].checked?1:0;
            if(checked){
                var value = inputs[i].value.split("~~")[0];
                total -= -value;
            }
        }
    }
    document.getElementById('totalspan').innerHTML="Toplam Fiyat: "+ total + " tl"
    total='0';
}

该脚本用于计算选择的总价格。你可以在小提琴中看到它。另外,我在 Blogger 上有它,但正如我所说,它不起作用。

我的博客的链接在这里

4

1 回答 1

2

no wrap (body)意味着您的脚本将被插入到script标签内的新标签中bodyno wrap (head)意味着您的脚本将被插入到新script标签内head您可以在jsFiddle 帮助中了解它

其他选项会将您的 JS 代码包装在特定的 DOM 事件处理程序(onLoadonDomReady)中

你网站上的脚本错误告诉我calculateTotal is not defined,所以请检查你的命名。

为什么在计算总数时使用字符串?您可以安全地使用原生 JSparseInt功能。

使用表单click事件的另一点是错误的,您应该使用change输入的事件。

最简单的选择是像这样使用jQuery

$('[name="CPU"], [name="OperatingSystem"], [name="Case"]').on('change', updateTotal);

function updateTotal {
   var total = 0;
   // calculate your total here
   $('#totalspan').text(total);
}

请检查我的 5 分钟小提琴:http: //jsfiddle.net/GDXuS/5/

您还可以使用data-属性来存储价格或任何其他数据(参见jQuery 网站)。

我建议你学习一些编程语言。

于 2012-10-03T12:03:00.137 回答