Posez votre question Signaler

Cocher une checkbox avec une zone de texte [Résolu]

Klytorh 26Messages postés 11 mai 2009Date d'inscription 22 novembre 2011Dernière intervention - Dernière réponse le 27 août 2010 à 12:05
Bonjour,
Voila je commence dans la programmayion j'ai passé l'aprem a farfouiller sur le net pour avoir une reponse mais rien a faire je trouve pas....
J'ai un tableau avec plusieurs ligne (au moins 900) avec plusieurs champ de texte sur chaque ligne je voudrait que quand je modifie ma zone de texte il me coche automatiquement la checkbox de la ligne correspondante.
if ($this->_list)

			foreach ($this->_list AS $tr)
			{
				$id = $tr[$this->identifier];
				echo '<tr'.($irow++ % 2 ? ' class="alt_row"' : '').' '.((isset($tr['color']) AND $this->colorOnBackground) ? 'style="background-color: '.$tr['color'].'"' : '').'>';

				foreach ($this->fieldsDisplay AS $key => $params)
				{
					$tmp = explode('!', $key);
					$key = isset($tmp[1]) ? $tmp[1] : $tmp[0];

					if($key=='id_product')
					{
					echo '
					<td class="pointer '.(isset($params['align']) ? $params['align'] : '').'" >';
							echo '<input type="checkbox" id="BulkEdit[]" name="productBulkEdit[]" value="'.$id.'"/>';
					echo '</td>';
					echo '
					<td class="pointer '.(isset($params['align']) ? $params['align'] : '').'" >';
							echo $tr[$key];
					echo '</td>';
					}
					elseif($key=='price')
					{
						echo '<td class="pointer '.(isset($params['align']) ? $params['align'] : '').'" >';
							echo '<input style="width:80px; text-align: right;" type="text" name="productprice_'.$id.'" value="'.$tr[$key].'" onchange="productBulkEdit['.$id.'].checked"; />';
					echo '</td>';
					}
					elseif($key=='reduction_percent')
					{
						echo '<td class="pointer '.(isset($params['align']) ? $params['align'] : '').'" >';
							echo '<input style="width:50px; text-align: right;" type="text" name="reduction_percent_'.$id.'" value="'.$tr[$key].'" />';
					echo '</td>';
					}
                                        elseif($key=='reduction_price')
					{
						echo '<td class="pointer '.(isset($params['align']) ? $params['align'] : '').'" >';
							echo '<input style="width:50px; text-align: right;" type="text" name="reduction_price_'.$id.'" value="'.$tr[$key].'" />';
					echo '</td>';
                                        }
                                        elseif($key=='active')
					{
						echo '<td class="pointer '.(isset($params['align']) ? $params['align'] : '').'" >';
							echo '<input '.($tr[$key] ? 'checked=checked' : '').' type="checkbox" value="1" name="productactive_'.$id.'" />';
					echo '</td>';
					}
					else....
					{

Voila j'espere que le code s'est bien indenter car je sais que c'est galere a lire sinon....
Comme vous pouvez le voir j'ai essayé de mettre un evenement "onchange="productBulkEdit['.$id.'].checked" j'avait l'espoir que sa marche mais non
le productBulkEdit[] c'est le nom de ma checkbox et $id c'est le n° de reference de mon produit qui correspond au numero de la ligne...
Bon je croit que j'ai tout renseigner au maximum, je vous remercie d'avance pour vos réponse et j'espere que ce topic pourra en aider d'autres comme moi qui commence en developpement ^^
Lire la suite 

Cocher une checkbox avec une zone de texte »

1 réponses
Réponse
+0
moins plus
c'est bon solution trouvé..

Il suffit de mettre :

onchange="form.BulkEdit_'.$id.'.checked=true "


elseif($key=='reduction_percent')
{
      
      echo '<td class="pointer '.(isset($params['align']) ? $params['align'] : '').'" >';
      echo '<input style="width:50px; text-align: right;"  type="text" 
      name="reduction_percent_'.$id.'" value="'.$tr[$key].'"       
      onchange="form.BulkEdit_'.$id.'.checked=true " />';
      echo '</td>';
}
Ajouter un commentaire
Ce document intitulé « Cocher une checkbox avec une zone de texte » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?