0

我需要的是,基于 changepos 的值(我们称这个值 N,我想在 racks 元素中填写 punkt 的第 N 个位置。

机架中值的示例萤火虫输出

PMS02
    Object { punkt=[3], label="slow one"}

label
    "slow one"

punkt
    [Object { x="1", y="3"}, Object { x="1", y="4"}, Object { x="1", y="5"}]

0
    Object { x="1", y="3"}

1
    Object { x="1", y="4"}

2
    Object { x="1", y="5"}

JS代码:

changePos= 4; // 4 is an example here
if(!(trimdevID in racks))
{
    alert("Defining...");
    document.getElementById('devLabel').value.trim()
    racks[trimdevID] = {
        label: document.getElementById('devLabel').value.trim(),
        punkt: [{
            x: $(this).index(),
            y: $(this).parent().index()}]}
}

我尝试了什么:

if(!(trimdevID in racks))
{
    alert("Defining...");
    document.getElementById('devLabel').value.trim()
    racks[trimdevID] = {
        label: document.getElementById('devLabel').value.trim(),
        punkt: [
            for(var i=0;i<changepos-1;i++){
                {
                    x: 0,
                    y: 0}
            }
            {
                x: $(this).index(),
                y: $(this).parent().index()}
        ]}
}
4

2 回答 2

1

您不能for在数组文字中放置循环。使用循环分配给数组元素。

if(!(trimdevID in racks))
{
    alert("Defining...");
    var label = document.getElementById('devLabel').value.trim();
    var punkt = [];
    for (var i = 0; i < changepos-1; i++) {
        punkt[i] = {x: 0, y: 0};
    }
    punkt[changepos] = {
        x: $(this).index(),
        y: $(this).parent().index(),
    };
    racks[trimdevID] = {
        label: label,
        punkt: punkt
    };
}

你也接到了一个电话document.getElementById().value.trim(),结果没有做任何事情。我将其更改为设置一个变量,然后稍后在对象创建中使用它。

于 2013-11-13T16:55:53.713 回答
0
changePos= 4; 4 is an example here
if(!(trimdevID in racks))
{
    alert("Defining...");
    document.getElementById('devLabel').value.trim()
    racks[trimdevID] = {
        label: document.getElementById('devLabel').value.trim(),
        punkt: []
    }
    for (var i = 0; i < changePos /* -1 */; i++)
        racks[trimdevID][punkt][i] = {x:0, y:0};
    racks[trimdevID][punkt][changePos /* -1 */] = {
        x: $(this).index(),
        y: $(this).parent().index()
    }    
}

决定你是否需要那个-1。

于 2013-11-13T16:55:44.220 回答