我需要的是,基于changepos的值(让我们调用这个值N,我想在机架元素中填写punkt的第N个位置。
机架中值的示例firebug输出
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()}
]}
}
答案 0 :(得分: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()
但没有对结果做任何事情。我将其更改为设置变量,然后在对象创建中使用它。
答案 1 :(得分: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。