Mein Script erzeugt das Menü, prüft den aktuellen Wert, markiert diesen und gibt ggf. den alten Wert wieder zurück, falls im Menü nichts ausgewählt wurde.
Das Script kann auch für andere Menüs benutzt werden wie z.B. Ja/Nein oder Anreden, Steuerauswahl... Kann ja leicht modifiziert werden.
Code: Alles auswählen
function change(oVal, kind, doubleCheck) {
var type = (kind!="" && kind!=null) ? kind : "YesNo";
var O = {'YesNo': {'Ja': 1, 'Nein': 0},
'CDear': {'Herr': 1, 'Frau': 2, 'Familie': 3, 'Firma': 4, '-': '-', 'leer': ''},
'CTax': {'19%': 19, '7%': 7, '-': '-', 'keine': ''},
'Count': {'kein(e)': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8},
'PRel': {'monatlich': 12, 'vierteljährl.': 4, 'halbjährl.': 2, 'jährlich': 1}};
if (kind=="CPrnt") {
O['CPrnt'] = new Array();
for (var i=0; i<app.printerNames.length; i++)
O['CPrnt'][app.printerNames[i] = i;
}
var Params = new Array();
for (i in O[type])
Params.push({cName: i, bMarked: (oVal==i || ((doubleCheck) && (oVal==O[type][i])) )});
var nVal = app.popUpMenuEx.apply(app, Params);
return (nVal!="" && nVal!=null) ? Array(nVal, O[type][nVal]) : Array(oVal, O[type][oVal]);
}
Code: Alles auswählen
event.target.getPrintParams().printername
Hoffe das war verständlich.
MfG, yuc2me