Ticket #10191: RelatedObjectLookups.js.patch

File RelatedObjectLookups.js.patch, 1.5 KB (added by trbs, 6 years ago)
  • django/contrib/admin/media/js/admin/RelatedObjectLookups.js

    diff -r c652d05460a8 django/contrib/admin/media/js/admin/RelatedObjectLookups.js
    a b  
    8080            o.selected = true;
    8181        } else if (elem.nodeName == 'INPUT') {
    8282            elem.value = newId;
     83        } else if (elem.className == 'radiolist') {
     84            var cnt = elem.getElementsByTagName('li').length;
     85            var idName = elem.id+'_'+cnt;
     86            var newLi = document.createElement('li');
     87            var newLabel = document.createElement('label');
     88            var newText = document.createTextNode(' '+newRepr);
     89            try {
     90                // IE doesn't support settings name and type by setAttribute
     91                var newInput = document.createElement('<input type=\'radio\' name=\''+name.slice(3)+'\' checked=\'checked\' />');
     92            } catch (err) {
     93                var newInput = document.createElement('input');
     94            }
     95            newLabel.setAttribute('for', idName);
     96            newInput.setAttribute('id', idName);
     97            newInput.setAttribute('class', 'radiolist');
     98            newInput.setAttribute('type', 'radio');
     99            newInput.setAttribute('name', name.slice(3));
     100            newInput.setAttribute('value', newId);
     101            newInput.setAttribute('checked', 'checked');
     102            newLabel.appendChild(newInput);
     103            newLabel.appendChild(newText);
     104            newLi.appendChild(newLabel);
     105            elem.appendChild(newLi);
    83106        }
    84107    } else {
    85108        var toId = name + "_to";
Back to Top