这个Javascript有什么问题?购物车

这个Javascript有什么问题?购物车,javascript,html,external,shopping-cart,Javascript,Html,External,Shopping Cart,在这个javascript或html中,有一种东西允许勾选复选框,但不超过半秒钟。(我需要检查保持在那里!)我还需要additems函数来工作 var computer = new Array(); computer[0] = "10001, Nvidia Geforce GTX 690, 1200"; computer[1] = "10002, Raedon HD 7950, 450"; computer[2] = "20001, Ivy Bridge i7 3770, 400"; comp

在这个javascript或html中,有一种东西允许勾选复选框,但不超过半秒钟。(我需要检查保持在那里!)我还需要additems函数来工作

var computer = new Array();

computer[0] = "10001, Nvidia Geforce GTX 690, 1200";
computer[1] = "10002, Raedon HD 7950, 450";
computer[2] = "20001, Ivy Bridge i7 3770, 400";
computer[3] = "20002, Ivy Bridge i7 3770k, 420";
computer[4] = "20003, Sandy Bridge i7 2700k, 340";
computer[5] = "20004, Bulldozer FX-8150, 270";
computer[6] = "30001, Antec eleven-hundred, 120";
computer[7] = "30002, Coolermaster HAF-X, 170";
computer[8] = "30003, Antec three-hundred, 50";
computer[9] = "30004, Corsair 550D, 160";
computer[10] = "40001, INTEL-ASrock fatal1ty Z77 Professional Motherboard, 250";
computer[11] = "40002, INTEL-ASrock Z77 extreme9 Motherboard, 350";
computer[12] = "40003, AMD-ASrock fatal1ty 990FX Professional Motherboard, 240";
computer[13] = "40004, AMD-ASUS Sabertooth 990FX Motherboard, 260";
选中所有复选框功能

function check() { 

var leftSide = document.getElementById('table_container_left');
var inputs = leftSide.getElementsByTagName('input');
for (x=0; x<=inputs.length-1; x++)  {
    if(inputs[x].type == 'text')  {
        inputs[x].value = 1;
    } else {
        inputs[x].checked = true;
    }
}
}
function uncheck() { 

var leftSide = document.getElementById('table_container_left');
var inputs = leftSide.getElementsByTagName('input');
for (x=0; x<=inputs.length-1; x++)  {
    if(inputs[x].type == 'text')  {
        inputs[x].value = 0;
    } else {
        inputs[x].checked = false;
    }
}
}
这是所要求的HTML

    <form name="myForm" action="index.html" method="post">

        <div id="table_container_left">

                    <button onclick="check();">Select All</button>

                    <button onclick="uncheck();">Unselect All</button>

                    <button onclick="addItems();">Add Items</button>

            <table>

                <thead>

                        <th><u>Item Code</u></th>

                        <th><u>Item</u></th>

                        <th><u>Qty</u></th>

                        <th><u>Price</u></th>

                </thead>

                <tbody>



<script type="text/javascript">

for(x=0; x<=computer.length-1; x++) {

document.write("<tr id='"+x+"'><td><label><input type='checkbox' name='item' value='"+x+"'     onclick='updateQty('"+x+"');'/> "+computer[x].split(",")[0]+"</label></td><td>"+computer[x].split    (",")[1]+"</td><td> <input name='qty' id='qty' type='textbox' value='0' onchange='qtychange    ('"+x+"');'/></td><td>$"+computer[x].split(",")[2]+"</td></tr>");

}

</script>







                </tbody>

            </table>

        </div>



        <div id="table_container_right">

            <table id="shoppingBasket">













                    <input name='selectAll' type='button' value='Select All' onclick="itemSelected();"/>

                    <input name='clearAll' type='button' value='Clear All' onclick=""/>

                    <input name='removeItem(s)' type='button' value='Remove Item(s)' />

                    <input name='sortItemCode' type='button' value='Sort by Item Code' disabled='disabled' />

                    <input name='sortPrice' type='button' value='Sort by Price' disabled='disabled' />

                </tbody>

            </table>

        </div>



</div>



</form>

全选
取消全选
添加项目
项目代码
项目
数量
价格

对于(x=0;x您使用的是
i=0
而不是
var i=0
,这将引入一个全局变量。如果您在其他地方编写类似的代码,这可能是一个问题

您的
if
-语句根本不是语句。它们看起来像伪代码。您还与
=
而不是
=
进行比较,这将导致赋值而不是条件,即使您修改了语法

您没有正确地缩进代码,这将使您更容易引入新错误

这些是我立即注意到的一般问题。当然,这段代码可能有很多问题。
字段
可能不是数组,
计算机
选定的
可能与
字段
的大小不匹配,等等


如果您有任何具体的问题,请描述一下,我们也许可以解决它。

您的JS语法太离谱了,这就是它应该是什么样子

function addItems(field) {
    for (i = 0; i <= field.length-1; i++) 
    {
        if (field[i].checked == true)
        {
            if (computer[i]!=null) { 
                selected[i] = computer[i];
            }
        }
    }
}
函数附加项(字段){

对于(i=0;i一半的if语句缺少括号,这是一些基本的错误

我不知道这些变量应该是什么,应该在哪里,但这是我的最佳选择:

function addItems(field) {
    var i;
    for (i = 0; i < field.length; i++) {
        if (field[i].checked === true) {
            if (computer[i] !== null) { 
                selected[i] = computer[i];
            }
        }
    }
}
函数附加项(字段){
var i;
对于(i=0;i
应该发生什么,实际发生了什么?计算机和选择的变量从哪里来?根据给定的信息,答案是不可能的!遗憾的是,这并没有解决我的问题。然后你应该仔细描述你的问题。@DavidHedlund你对迭代的看法是错误的,它将遍历所有字段,因为他的条件是@x64igor:完全正确!没有注意到

function addItems(field) {
    for (i = 0; i <= field.length-1; i++) 
    {
        if (field[i].checked == true)
        {
            if (computer[i]!=null) { 
                selected[i] = computer[i];
            }
        }
    }
}
function addItems(field) {
    var i;
    for (i = 0; i < field.length; i++) {
        if (field[i].checked === true) {
            if (computer[i] !== null) { 
                selected[i] = computer[i];
            }
        }
    }
}