So funktioniert es nun. Durch einen zusätzlichen Button-Click wird die Zeit jetzt ins reading/attr übernommen. Wahrscheinlich steht da noch viel zu viel im code. War nur ein try-and-error. Vielleicht kann ihn ja noch jemand optimieren.
// Wrapper for the jquery timepicker widget.
FW_widgets['timepicker'] = { createFn:FW_timepickerCreate, };
function
FW_timepickerCreate(elName, devName, vArr, currVal, set, params, cmd)
{
var closed="Set";
var newEl = document.createElement('div');
$(newEl).append('<input type="text" size="5">');
$(newEl).append('<input type="button" value="'+closed+'">');
var inp = $(newEl).find("[type=text]");
var btn = $(newEl).find("[type=button]");
currVal = (currVal ? currVal : "12:00")
.replace(/[^\d]*(\d\d):(\d\d).*/g,"$1:$2");
$(inp).val(currVal)
if(elName)
$(inp).attr("name", elName);
var hh, mm;
newEl.setValueFn = function(arg) {
arg = arg.replace(/[^\d]*(\d\d):(\d\d).*/g,"$1:$2");
$(inp).val(arg);
var hhmm = arg.split(":");
if(hhmm.length == 2 && hh && mm) {
hh.setValueFn(hhmm[0]);
mm.setValueFn(hhmm[1]);
}
};
$(btn).click(function(){
var v = $(inp).val();
hh = mm = undefined;
if(cmd)
cmd(v);
if(v.indexOf(":") < 0) {
v = "12:00";
$(inp).val(v);
}
var hhmm = v.split(":");
function
tSet(idx, arg)
{
if((""+arg).length < 2)
arg = '0'+arg;
hhmm[idx] = arg;
$(inp).val(hhmm.join(":"));
}
});
loadScript("pgm2/jquery-clock-timepicker.min.js",
function() {
$(inp).clockTimePicker();
});
return newEl;
}