Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Peupler un <menulist> en Javascript

Envoyé par : thx1138

Date : 02/07/2006 00:33

Bonjour,

Je voudrais savoir si c'est possible comme en HTML de peupler un <menulist> comme un <select>.

J'ai d'abord mis l'id dans menulist mais rien. Ensuite j'ai mis l'id dans menupopup et là j'ai des lignes supplémentaires qui apparaisse mais vide.

Je viens de tester ceci, mais rien ne se passe

function remplir_liste()
{
var liste=	document.getElementById("liste1");
var tab=new Array();
tab[0]=	"Un";
tab[1]=	"Deux";
tab[2]=	"Trois";

for (var i=0; i<=tab.length-1; i++)
{
		var opt =	document.createElement('menuitem');
	opt.label = tab[i];
	opt.value = i;
	liste.appendChild(opt);
}
}

# Re: Peupler un <menulist> en Javascript

Envoyé par : Paul Rouget

Date : 02/07/2006 14:33

Document est du HTML, essaies donc plutôt:

document.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only. xul', 'menuitem');

# Re: Peupler un menulist en Javascript

Envoyé par : thx1138

Date : 03/07/2006 02:20

Fonctionne toujours pas,

j'ai le même résultat : cad

les lignes se crées, mais elle sont très fine et vide

# Re: Peupler un <menulist> en Javascript

Envoyé par : Paul Rouget

Date : 03/07/2006 07:13

Étrange, j'ai testé, et en effet, la propriété .label n'existe pas, contrairement à ce qui est indique sur XulPlannet.

http://www.xulplanet.com/references/elem(..)

Donc il faut que tu passes par le DOM

setAttribute('label', tab[i]);

# [Résolu] Peupler un menulist en Javascript

Envoyé par : thx1138

Date : 04/07/2006 01:11

merci,

cela fonctionne maintenant

Je met ici le code pour celui que ca intéresse

function remplir_liste()
{
    var liste=	document.getElementById("liste1");
    var tab=new Array();
        tab[0]= "Un";
        tab[1]= "Deux";
        tab[2]= "Trois";

    for (var i=0; i<tab.length; i++)
    {
        var opt = document.createElement('menuitem');
            opt.setAttribute("value", i);
            opt.setAttribute("label", tab[i]);
        liste.appendChild(opt);
    }
}

Cela fonctionne aussi si on remplace la ligne

var opt = document.createElement('menuitem');

par

var opt= document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "menuitem");

Je vais utiliser cette méthode le temps de métriser le RDF... si j'y arrive.

# Re: Peupler un <menulist> en Javascript

Envoyé par : Christophe Charron

Date : 05/07/2006 23:33

Paul Rouget a écrit:

Étrange, j'ai testé, et en effet, la propriété
.label n'existe pas,
contrairement à ce qui est indique sur
XulPlannet.

[http://www.xulplanet.com/references/elemref/ref_m
enuitem.html#prop_label]

Donc il faut que tu passes par le DOM
setAttribute('label', tabi);

Bonsoir, mon problème (http://xulfr.org/forums/read.php?8,4541,(..)) , toujours non-résolu, ne serait-il pas du même acabit ?

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.