2016-08-07 41 views
2

Ich benutze die ListEach Funktion, um die Werte von zwei verschiedenen Werten zu trennen.Listenach und Problem mit den durch Komma getrennten Werten

wie folgt aus:

<cfscript> 
    result = []; 
    listEach(form.getselection, function(value, index) { 
     switch (value) { 
      case "-2": 
       result.append(listLast(ListGetAt(form.get_items, index), "~")); 
       break; 
      case "-1": 
       result.append(ListGetAt(getselectiontext, index,',',true)); 
       break; 
      default: 
       result.append(value); 
     } 
    }); 
    </cfscript> 

hier ist das, was die Werte aussehen

GETSELECTION -2,105.0000,-1,-1,-2 
GETSELECTIONTEXT ,450,455 
GET_ITEMS   128177000001304041~ mytext~YES~41.47,128177000001518319~mytext2~YES~91.52,128177000001518343~mytext3~YES~242.53,128177000001460287~mytext4~YES~15.0,128177000001304009~mytext5~YES~125.84 

Also, beide verketten, möchte ich als die Werte erhalten:

41.47,105.0000,450,455,25.84 

aber irgendwie die Werte in der getselectiontext verursacht mir Probleme, ich bekomme den folgenden Fehler:

Die folgenden Informationen sind für den Entwickler der Website zu Debugzwecken gedacht. Fehler traten beim Bearbeiten anfordern Ungültige Listenindex 3.

In Funktion ListGetAt (Liste, Index [, Trennzeichen]), der Wert des Index, 3, ist keine gültige als erstes Argument (diese Liste 2 Elemente).   Gültige Indizes liegen im Bereich 1 bis zur Anzahl der Elemente in der Liste.

The error occurred in C:/inetpub/wwwroot/myproject/secure/portal.cfm: line 56 
54 :    break; 
55 :   case "-1": 
56 :    result.append(ListGetAt(getselectiontext, index,',')); 
57 :    break; 
58 :   default: 
+0

Nicht sicher, dass ich verstehe. 'getselectiontext' hat 3 Einträge (einschließlich der leeren). Wenn Sie die 3. und 4. Wiederholung der 'getselection'-Werte verwenden, möchten Sie den 2. und 3. Wert von' getselectiontext'? Aber ansonsten klingt es so, als würde es den vierten booleschen Parameter nicht aufnehmen. – duncan

+0

ja, sehthing ist falsch und ich verstehe nicht, was –

+0

ich denke, ich löste es, ich war eigentlich deaktivieren das Textfeld und keine Werte ging, so dass ich es aktiviert und 'includeempty' zu' ja' verwenden und es funktionierte ab jetzt. –

Antwort

0

Ihre zweite Liste {getselectiontext} enthält zwei Elemente, die Fieber sind als 5 Elemente in {} getSelection, auf dem Sie mit ListEach iterieren.

Falls "-1", versuchen Sie ein Listenelement von {getselectiontext} bei Index 3 oder Index 4 zu erhalten, die nicht existieren.

Sie müssen die übermittelten Daten überprüfen und überprüfen, wie sie über das Formular übermittelt werden.

+0

behoben, wie ich in meinen obigen Kommentaren sagte, ich war ein Textfeld deaktivieren, die ich tun sollte –