-1
votes

Comment passer la valeur d'identification à la fonction?

Comment puis-je passer la valeur d'identification à la fonction? Ce que je fais, c'est que lorsque l'utilisateur modifie la liste déroulante, il obtiendra la valeur de la liste déroulante et obtenez également la valeur d'entrée cachée à l'intérieur de poureseach.

J'ai essayé de mon côté je change de la valeur de la liste déroulante Mais comment puis-je obtenir la valeur d'entrée dans la jQuery? Maintenant, je reçois la dernière valeur du champ de saisie. P>

$('[id^="Duration"]').change(function () {
  var a=$('input[id^="activeID"]').attr('id');// how to I display the input id here
  alert(a);
 var value = $('input[id^="activityID"]').val();// i tried this one as well
 alert(value);
 var end = this.value;
 alert(end);//getting drodpown id value
    });


10 commentaires

Essayez d'accéder à l'élément en utilisant $ (this)


Où devrais-je utiliser ceci?


Sélectionner est à l'intérieur de la recherche ???


Je recommande de mettre l'entrée et et dans le même div , puis lorsque vous modifiez la liste déroulante, obtenez le frères et sœurs ()


@sradha, oui, vous pouvez vérifier la question. Sélectionner et saisir le champ des deux sont à l'intérieur de la recherche.


Remplacez cette ligne var a = $ ("entrée [ID ^ =" actived "] ')'). ATTR ('ID'); avec VAR A = (' id ');


@ RAMESH, si j'essaie VaR A = $ (ceci) .attr ('id'); Ensuite, il affiche que l'identifiant déroulant n'est pas une valeur d'entrée. Je suis gettng "durée1" ou "durée2". J'ai besoin de valeur de champ d'entrée.


@ user9437856 My Bad, désolé, il doit être comme ceci: var a = $ (ceci) .Infrings ("entrée [id ^ =" actived "] '). Alt (" ID ");


@Ramesh, j'ai essayé votre code mais il affiche "indéfini".


@ user9437856 Cela signifie que vous avez essayé d'accéder, c'est faux. Pour la solution, ajoutez une classe à l'entrée . Permettez-moi de dire que la classe est entrée-entrée . Donc, je peux accéder à l'élément comme var a = $ (this) personnes identiques (". Entrée active"). ATTR ('ID');


5 Réponses :


-1
votes

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h2>Form control: select</h2>
  <p>The form below contains two dropdown menus (select lists):</p>
  <form>
    <div class="form-group">
      <label for="sel1">Select list (select one):</label>
      <select class="form-control select" id="Sell">
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
      </select>
      <label for="sel1-item">Select list sell item (select one):</label>
      <select class="form-control select" id="Sell-item">
        <option>car</option>
        <option>bike</option>
        <option>cycle</option>
        <option>auto</option>
      </select>
    </div>
  </form>
</div>

</body>
</html>


4 commentaires

Je pense que vous devez vérifier mon code à nouveau, vous avez édité mon code et supprimez le $ x ++.


Aussi dans votre réponse, vous n'avez pas utilisé les champs de saisie. J'ai un champ de saisie à l'intérieur de pourcheach et j'ai besoin de cette valeur.


Je viens de recevoir l'échantillon pour JQuery.


Ce n'est pas mon problème, mais merci de la réponse, JQuery que vous avez partagée déjà dans mon code et que cela fonctionne. J'ai besoin de valeur de champ d'entrée dans la jQuery et c'est-à-dire pas dans votre réponse.



1
votes

Une chose que j'ai observée dans votre code: xxx

Vous n'êtes pas du tout augmentant $ x n'importe où et par conséquent chaque étiquette d'entrée cachée consiste à obtenir < code> id = 'activeD1'


3 commentaires

Bien sûr, merci :)


C'est ma faute que j'ai oublié d'ajouter dans la question. J'ai ajouté dans la question.


Dans la source de vue, je reçois "ActiveID1" ou "" ActiveD2 ", etc.



0
votes
<?php

$x=1;
 foreach ($duration as $row) {
    ?>
  <input type="hidden" name="activeID" id="activeID<?php echo $x;?>" value="<?php echo $row->activity_name_id;?>">
 <select name="Duration<?php echo $x;?>"  class="form-control DurationClass" id="Duration<?php echo $x;?>">
     <option selected disabled >Select year</option>    
     <option value="12m" <?php if($row->Duration  == '12m' ){ echo 'selected="selected"'; } ?>>1 Year</option>
     <option value="6m" <?php if($row->Duration  == '6m' ){ echo 'selected="selected"'; } ?>>6 months</option>
  </select>
<div id="results<?php echo $x;?>"></div>
<?php   } ?>


<script>

$('.DurationClass').change(function () {
   var a=$('input[id^="activeID"]').attr('id'); 
   var selectID=$(this).attr('id'); 
  //alert(a);
 var value = $(this).val(); //  in loop every dropdown select current option value return
 alert(value);

    });
</script>

3 commentaires

Si j'essaye Var SélectionD = $ (ceci) .ATTR ('ID'); Ensuite, il affiche que l'identifiant déroulant n'est pas une valeur d'entrée.


oublier cette ligne et la valeur de Var utilisateur = $ (ceci) .val (); Ceux-ci retournent à la valeur chronométrée actuelle.


Je ne veux pas la valeur actuelle de sélection déroulante. que je l'obtiens déjà. Caton, réponse a résolu mon problème.



1
votes

Vous pouvez mettre votre entrée code> et Sélectionner code> à l'intérieur d'un div code>. Lorsque les déposées sont modifiées, obtenez la Entrée CODE> SIBLES

<?php
$x=1;
foreach ($duration as $row) {
?>
  <div>
    //Your input and select here
  </div>
<?php   } ?>


<script>

$('[id^="Duration"]').change(function () {
   var input = $($(this).siblings("input")[0]); // get the input element
   var id = input.attr("id"); //id of the input
   var value = input.val(); //value of the input
   alert(value);
});
</script>


6 commentaires

Merci pour la réponse, j'ai eu une erreur dans la console après avoir sélectionné la liste déroulante "TypeError: $ (...). Frères et sœurs (...) [0] .val n'est pas un aménagement"


Il me donne une erreur "TypeError: Input.Attr n'est pas une fonction"


@ user9437856: désolé mon mauvais, les frères et sœurs () [0] renvoient un élément HTML, je dois l'analyser à l'objet JQuery. J'ai mis à jour mon code, veuillez réessayer


Oh!, Oui, enfin j'ai eu ma sortie. @CATCON, merci pour la réponse et comprenez mon problème. Je veux juste savoir sur le "div". Si j'ajoute un plus de div, que dois-je utiliser dans la jQuery?


Pourquoi je demande est, il y a un

et qui est en dehors de la DIV. Alors, comment puis-je obtenir un nom d'identification dans la jQuery?


La logique serait la même, vous mettrez la même chose que vous mettriez le

à l'intérieur du nouveau div puis obtenez le < Code> frères et sœurs ("div") [0] du