developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Ticket #1324: jelix-1.2.2-jforms_jquery.js-selectFill-take-grouped-data-into-account.patch

File jelix-1.2.2-jforms_jquery.js-selectFill-take-grouped-data-into-account.patch, 2.0 KB (added by catsoup, 10 years ago)
  • lib/jelix-www/js/jforms_jquery.js

    diff -r 829f95c6953c lib/jelix-www/js/jforms_jquery.js
    a b  
    366366                        opt.appendChild(document.createTextNode(emptyitem.text()));
    367367                        elt.appendChild(opt);
    368368                    }
    369                     var val, name;
     369                    var name, val;
    370370                    for (val in data.data) {
     371                      if(typeof data.data[val] == "string") {
    371372                        opt = document.createElement('option');
    372373                        opt.setAttribute('value', val);
    373374                        opt.appendChild(document.createTextNode(data.data[val]));
    374375                        elt.appendChild(opt);
     376                      }
     377                      else if(typeof data.data[val] == "object"){
     378                        var val2;
     379                        if(val == ""){
     380                          for(val2 in data.data[val]){
     381                            opt = document.createElement('option');
     382                            opt.setAttribute('value', val2);
     383                            opt.appendChild(document.createTextNode(data.data[val][val2]));
     384                            elt.appendChild(opt);
     385                          }
     386                        }
     387                        else {
     388                          optgrp = document.createElement('optgroup');
     389                          optgrp.setAttribute('label', val);
     390                          for(val2 in data.data[val]){
     391                            opt = document.createElement('option');
     392                            opt.setAttribute('value', val2);
     393                            opt.appendChild(document.createTextNode(data.data[val][val2]));
     394                            optgrp.appendChild(opt);
     395                          }
     396                          elt.appendChild(optgrp);
     397                        }
     398                      }
    375399                    }
    376400                }
    377401                if (me.controlsToUpdate.length) {