0

我有一个如下的javascript代码

function createArray()
{
    var myArr = new Object();
    myArr[0] = createSubArray('apple');
    myArr[1] = createSubArray('Mango');
    myArr[2] = createSubArray('Pineapple');
    myArr[3] = createSubArray('Grape'); */
    document.getElementById("a").innerHTML = JSON.stringify(myArr);
    return myArr;
} 

function createSubArray(name){
    var arr = new Object();
    elems = document.getElementsByName(name);
    for (var i=0;i<elems.length;i++){
        if (elems[i].checked){
            arr[name] =  elems[i].value;
            arr['price'] =  elems[i].getAttribute('data-price');
        }
    }
    return arr;

}

我需要将此 createArray() 函数更改为 dynimic 但我不知道这怎么可能这是我尝试过的代码

function createArray()
{
    var myArr = new Object();
    elems = document.getElementsByTagName("input");
     for (var i=0;i<elems.length;i++){
        var elmcheck = elems[i].getAttribute('type');
        //alert(elmcheck);
        if (elems[i].checked)
        {
         alert("A Radio Is Check "+elems[i].getAttribute('name'));
         myArr[i] = createSubArray(elems[i].getAttribute('name'));
        }
    }
    document.getElementById("a").innerHTML = JSON.stringify(myArr);
    return myArr;
} 

function createSubArray(name){
    var arr = new Object();
    elems = document.getElementsByName(name);
    for (var i=0;i<elems.length;i++){
        if (elems[i].checked){
            arr[name] =  elems[i].value;
            arr['price'] =  elems[i].getAttribute('data-price');
        }
    }
    return arr;

}

但它不起作用任何人都可以帮助我解决..

4

1 回答 1

0

试试这个它可能对你有用

function createArray()
{
    var myArr = new Object();
    var elems = document.getElementsByTagName("input");
     for (var i=0;i<elems.length;i++)
     {
       if (elems[i].checked)
       {
          myArr[i] = createSubArray(elems[i].getAttribute('name'));
       }
     }
    document.getElementById("a").innerHTML = JSON.stringify(myArr);
    return myArr;
} 

function createSubArray(name){
    var arr = new Object();
    var elems = document.getElementsByName(name);
    for (var i=0;i<elems.length;i++)
    {
        if (elems[i].checked)
        {
            arr[name] =  elems[i].value;
            arr['price'] =  elems[i].getAttribute('data-price');
        }
    }
    return arr;
}
于 2012-09-18T06:04:31.543 回答