La communauté ALL HTML c'est 58013 membres à ce jour dont 0 inscrits aujourd'hui et 27 depuis une semaine.

  • imprimer
  • aide

Forum de discussions « Javascript - DHTML - VBScript »

Retrouvez les publications relatives à ces discussions dans notre rubrique javascript.

DOM - Ajout de liste déroulante toujours à la ligne

liste des forums liste des discussions Participer à la discussion

Photo de Allserv Message publié le jeudi 08 mai 2008 à 12 h 04 par Allserv. Mieux vaut avoir un vélo pour pédaler......
Bonjour,

J'aimerais avoir votre avis concernant un petit problème de mise en page.
Je modifie le contenu de ma page dynamiquement via DOM et j'ajoute une liste déroulante de tailles.

Le problème c'est que je n'arrive pas à faire tenir le contenu sur une même ligne, l'ajout de la liste déroulante se fait toujours à la ligne.

Voici mon code d'ajout :


<code>
<script language="javascript">

var range=<?=(count($id_article)==0)?1:count($id_article);?>;
function addSlot(){

var up = document.getElementById('slots');
var dv = document.createElement("div");


dv.innerHTML = '<p><select name="id_article['+range+']" onchange="if(this.options[this.selectedIndex].value>0) addTaille(this.options[this.selectedIndex].value,'+range+');"> <?=generateOptions(0);?> </select> Taille : <div id="taille_'+range+'"><div></div></div> Qte : <input type="text" name="qte[' + range + ']" size="2" maxlength="2" value="1"></p>';

up.appendChild(dv);



range++;
up = null;
dv = null;


}
function addTaille(id_article,range){

var tailles = new Array;

<?
// Recuperation de toutes les tailles pour les articles
$sql = "SELECT id_article,taille FROM ".$GLOBALS["table_articles"]." NATURAL JOIN ".$GLOBALS["table_tailles"]." ORDER BY id_article,taille";
$query = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_array($query)){
?>
tailles[<?=$data["id_article"];?>] = "<select name=\"tailles["+range+"]\" id=\"tailles["+range+"]\">";
<?
$sql_two = "SELECT DISTINCT taille FROM ".$GLOBALS["table_tailles"]." WHERE id_article='".$data["id_article"]."' ORDER BY taille";
$query_two = mysql_query($sql_two) or die(mysql_error());
while($data_two = mysql_fetch_array($query_two)){
?>
tailles[<?=$data["id_article"];?>] += "<option value='<?=$data_two["taille"];?>'><?=$data_two["taille"];?></option>";
<?
}
?>
tailles[<?=$data["id_article"];?>] += "</select>";
<?
}
?>
var div_article = 'taille_'+range+'';
var noeud=document.getElementById(div_article).firstChild;
document.getElementById(div_article).removeChild(noeud);



var up = document.getElementById(div_article);
var dv = document.createElement("div");

dv.innerHTML = tailles[id_article];

up.appendChild(dv);

up = null;
dv = null;

}

</script>
</code>

Dans le corps de ma page j'ai un div nommé slots :
<div id="slots" style="display:inline;"></div>

Il permet d'ajouter via addSlot une nouvelle ligne avec :
- un select d'article lorsqu'on le change il ajoute le fameux select de tailles

C'est cet ajout qui bloque et qui se mets sur la ligne suivante.

Quelqu'un aurait une solution ?

Bonne journée et merci d'avance

liste des forums liste des discussions Participer à la discussion

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions

agenda