2016-10-18 3 views
0

J'essaie de créer un formulaire d'inventaire qui commence par un seul élément vérifié en fonction d'une variable transmise à partir de l'URL.Cochez une case en fonction de la variable

En supposant que je suis devenu la variable ici: $StartingInv = $_GET["SInv"];

Et cette variable, le cas échéant, correspondra parfaitement à la valeur d'une liste des entrées comme ceci:

<input type="checkbox" class="inventory" name="order[]" value="IT1501"><label>Item IT1501 Name</label><br/> 
<input type="checkbox" class="inventory" name="order[]" value="IT1502"><label>Item IT1502 Name</label><br/> 

est-il un moyen de comparer la valeur d'une entrée à une variable lorsque la page est chargée pour assigner par programme un tag "vérifié"?

Ce que je voudrais faire est d'avoir un script qui obtient l'entrée par sa valeur et assigne une balise vérifiée, mais je ne sais pas si c'est possible. Sinon, je pourrais mettre quelque chose comme ça dans chacune des entrées, mais je ne sais pas comment le référencer.

<?php if ($VALUE_OF_THIS_FORM == $StartingInv) echo "checked='checked'"; ?>

+0

Votre dernière ligne est sur place, cela semble être quelque chose que vous pouvez facilement faire côté serveur sans aucun javascript du tout. – adeneo

+1

'> ' – adeneo

+0

oui son correct vous pouvez utiliser ci-dessous >
>

Répondre

0

Vous pouvez placer le code php dans votre entrée:

<input type="checkbox" class="inventory" name="order[]" value="IT1501" <?php if($StartingInv == 'IT1501') echo 'checked'; ?>> <label>Item IT1501 Name</label><br/> 
<input type="checkbox" class="inventory" name="order[]" value="IT1502" <?php if($StartingInv == 'IT1502') echo 'checked'; ?>><label>Item IT1502 Name</label><br/> 
+0

C'est essentiellement ce que j'ai fait, mais j'ai écrit une fonction PHP qui prend un seul identifiant et génère cette ligne. – ChrisAll

0

Votre alternative est assez bon, qui est soutenu par @adeneo sur les commentaires. Cependant, vous pouvez également essayer jQuery pour cela comme si:

var startingInv = "<?= $StartingInv ?>"; 
$(":checkbox").each(function() { 
    if ($(this).val() == startingInv) $(this).prop("checked", true); 
}