How can I update iq-select-box

I want to change the items displayed in a iq-select-box. I can change the values which are set by the select box, with the code below. But the displayed labels are not updated.

e.g. I configured 2 items in iq-select-box:

  • item 1: label="blue" value=0  => via JS change to label="LAB 0" value=10
  • item 2: label="red" value=1   => via change to label="LAB 1" value=11

The control still displays "blue" and "red" but the returned values are 10 and 11. I expect that I have to call an update function.

 What do I have to change to update the displayed labels?

(function() {
    var actions = shmi.pkg("visuals.session.userActions"); //get reference to userActions object

    /**
     * UI-Action '_Update-SelectBox' implementation
     */
    actions["_Update-SelectBox"] = function(parameters) {
        let sObject = "root.box-popup.iq-select-box-sba";  // 
        let srcObj = shmi.ctrl(sObject);
        if (srcObj) {
            for (let i=0; i<srcObj.config.options.length; i++)  {
                srcObj.config.options[i].label = "LAB " + i.toString();
                srcObj.config.options[i].value = 10+i;
            }
        } else {
            alert(sObject + " not found");
        }
    };
}());
1 reply