iberck
9/8/2017 - 4:46 PM

Excluir lo capturado en una pregunta de opc simples y múltiple (con los mismos valores) dentro de una pregunta

Excluir lo capturado en una pregunta de opc simples y múltiple (con los mismos valores) dentro de una pregunta

function onNavigate(params) {
    var valuesSelAll = [];
    var answerOpts = ApiClient.findAnswerOptions("P2");  // simple
    valuesSelAll.push(answerOpts.getEnterValue());

    var answerOpts2 = ApiClient.findAnswerOptions("P2A"); // múltiple
    if(answerOpts2!=null) {
      var enterValues = answerOpts2.getEnterValues();
      valuesSelAll = valuesSelAll.concat(enterValues);
    }

    $node.excludeOptions(valuesSelAll)
    
    var answer = ApiClient.showAndWait($node);
    var next = ApiClient.findNext($node);
    return next;
}

Excluir lo capturado en una pregunta de opc simples y múltiple (con los mismos valores) dentro de una pregunta

function onNavigate(params) {
    var valuesSelAll = [];
    var answerOpts = ApiClient.findAnswerOptions("P2");  // simple
    var enterOpt = answerOpts.getEnterOption();
    var opt = ApiClient.findItem(enterOpt);
    valuesSelAll.push(""+opt.getValue());

    var answerOptsM = ApiClient.findAnswerOptions("P2A"); // múltiple
    if(answerOptsM!=null) {
      var enterOptsM = answerOptsM.getEnterOptions();
      for (var i = 0; i < enterOptsM.length(); i++) {
          var optAlias = enterOptsM.get(i);
          var opt = ApiClient.findItem(optAlias);
          valuesSelAll.push(""+opt.getValue());
      }  
    }

    var pThis=ApiClient.findQuestionOptions($node);
    var thisOpts = pThis.getOptions();
    for (var i = 0; i < thisOpts.length; i++) {
        var opt = thisOpts[i];
        if (valuesSelAll.indexOf(""+opt.getValue())>-1) { // la opción fue seleccionada
            opt.setVisible(false);
        } else {
            opt.setVisible(true);
        }
    }
    
    var answer = ApiClient.showAndWait($node);
    var next = ApiClient.findNext($node);
    return next;
}