У меня есть созданный вручную массив, который уже работает, пример ниже:
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}};
Как только я попытаюсь сделать значение 179, которое находится в узле breakDownIndexNo, динамическим с использованием прямого part.item (i) .breakDownIndexNo.value, оно не будет скомпилировано. Acrobat использует javascript, поэтому я не уверен, почему я не могу разобрать это.
Я попытался создать переменную из узла breakDownIndexNo и ввел ее как в строку, так и в целое число. это позволит ему создать массив, но не позволит мне выводить из массива. newArr [indexNum] .partNum не дает мне «никаких свойств», где newArr [179] .partNum, если мне нужно было вручную установить номер индекса 179, выведет значение part.item (i) .indent.value.
Если у кого-нибудь из вас есть идея или ответ, пожалуйста, дайте мне знать.