1

我有一个手动创建的数组,它已经在下面的示例中工作:

var PartsData = { 179: { ref:"",
                         partNum: "201-2007-C00-00",
                         descript: "System Monitor Card (Tracewell Only)",
                         cage: "39764",
                         qty: "1",
                         SMR: "XBOZZ",
                         UOC: "A" }};

现在上面的这个数组只是数组中的一个值,它工作正常。这是我试图用来动态更改值的 XML。

  <?xml version="1.0" encoding="utf-8"?>
  <partsTables>
    <partsList>
      <part sheetNum="ta1">
        <breakDownIndexNo>-1 </breakDownIndexNo>
        <referenceDesg/>
        <indent>20534220P01 </indent>
        <description/>
        <cage>TAC RI, GRADE-A SHOCK (TEC RACK), ALT P/N 72304-1</cage>
        <qtyPerAssy>23991 </qtyPerAssy>
        <smr>1 </smr>
        <uoc>ADODD </uoc>
        <blank/>
      </part>
    </partsList>
  </partsTables>

我在 Acrobat 中解析得很好。现在我想让数组在使用这些值时为我工作。如果我在下面有以下内容,它将起作用。

其中 part.item(i).indent.value 等于缩进节点的值等。

newArr = { 179: { 
                    ref: part.item(i).referenceDesg.value,
                    partNum: part.item(i).indent.value,
                    descript: part.item(i).cage.value,
                    cage: part.item(i).qtyPerAssy.value,
                    qty: part.item(i).smr.value,
                    SMR: part.item(i).uoc.value,
                    UOC: part.item(i).blank.value}};

一旦我尝试使用直接 part.item(i).breakDownIndexNo.value 使 breakDownIndexNo 节点中的 179 值成为动态值,它将无法编译。Acrobat 正在使用 javascript,所以我不确定为什么我无法解析它。

我试图从 breakDownIndexNo 节点创建一个变量,并将其键入一个字符串和一个整数。这将让它创建数组,但它不会让我从数组中输出。newArr[indexNum].partNum 给我“没有属性”,如果我手动将索引号设置为 179,newArr[179].partNum 将打印出 part.item(i).indent.value 的值。

如果你们有任何想法或答案,请告诉我。

4

1 回答 1

0

我无论如何都不是 AS 专家,但这看起来不对:

partNum: '201-2007-C00-00",

字符串使用 ' 打开并使用 " 关闭,这在 JS 中不起作用

于 2009-08-27T18:20:24.430 回答