Maison >interface Web >js tutoriel >Résumé des méthodes pour obtenir la valeur sélectionnée dans la case à cocher à l'aide de Jquery et angulairejs_jquery

Résumé des méthodes pour obtenir la valeur sélectionnée dans la case à cocher à l'aide de Jquery et angulairejs_jquery

WBOY
WBOYoriginal
2016-05-16 15:19:301961parcourir

Dans notre développement habituel, nous avons parfois besoin d'obtenir la valeur sélectionnée dans la case à cocher et toutes les informations sur la ligne sélectionnée dans la case à cocher. Une petite astuce à ce stade est que nous pouvons mettre toutes les informations que nous voulons obtenir dans la valeur de la case à cocher, de sorte que lorsque nous pouvons obtenir la valeur sélectionnée de la case à cocher, cela équivaut à obtenir les informations de la valeur actuelle. rangée.

Copier le code Le code est le suivant :

b6c5a531a458a2e790c1fd6421739d1ce00b31f935151e80cc907b07ca8efbb1b90dd5946f0946207856a8a37f441edf
Sélectionner tout et n'en sélectionner aucun :

var bischecked=$('#cboxchecked').is(':checked'); 
    var fruit=$('input[name="orders"]'); 
    fruit.prop('checked',bischecked); 

Pourquoi utilisons-nous prop au lieu de attr ici ?

Pour les attributs inhérents à l'élément HTML lui-même, utilisez la méthode prop lors du traitement.

Pour nos propres attributs DOM personnalisés des éléments HTML, nous utilisons la méthode attr lors de leur traitement.

Obtenez la valeur sélectionnée :

$('input[name="orders"]:checked').each(function(){ 
      var sfruit=$(this).val(); 
      var orders=sfruit.split(","); 
      var reminder=new Object(); 
      reminder.merchantId=orders[0]; 
      reminder.orderCode=orders[1]; 
      reminder.userId=orders[2]; 
  
      }); 

implémentation d'angularjs :

En utilisant Angularjs, nous n'avons pas besoin d'exploiter le dom, nous devons seulement nous soucier du statut de cette valeur ;

Jetez d’abord un œil au code html :


<!DOCTYPE html> 
 <html data-ng-app="App"> 
 <head> 
   <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script> 
   <script src="script2.js"></script> 
 </head> 
 <body data-ng-controller="AddStyleCtrl"> 
  
   <div>Choose Tags</div>   
   <div> 
     <div>You have choosen:</div> 
     <hr> 
     <label data-ng-repeat="selectedTag in selectedTags"> 
       (({{selectedTag}})) 
     </label> 
     <hr> 
     <div data-ng-repeat="category in tagcategories"> 
       <div>{{ category.name }}</div> 
       <div data-ng-repeat="tag in category.tags"> 
         <div> 
           <input type="checkbox" id={{tag.id}} name="{{tag.name}}" ng-checked="isSelected(tag.id)" ng-click="updateSelection($event,tag.id)"> 
           {{ tag.name }} 
         </div> 
       </div> 
       <hr> 
     </div> 
   </div> 
  
 <pre class="brush:php;toolbar:false">{{selected|json}}
{{selectedTags|json}}
line2 définit l'application AngularJS
line4 introduit le script angulairejs

line5 présente le script script2.js écrit par moi-même
; line7 spécifie le contrôleur AddStyleCtrl
la ligne 13-15 affiche les balises sélectionnées à l'utilisateur en temps réel
; line17-line26 utilise une double boucle pour lister les données dans la base de données (dans ce cas, elles sont stockées dans un objet du contrôleur
) ; Cette ligne de code de la ligne 21 est très utile : c937a0e240cc43d6c9748f0806786570
L'identifiant et le nom de la balise sont stockés et isSelected(tag.id) est utilisé pour déterminer si elle est cochée. Lorsque vous cliquez dessus, la méthode updateSelection($event,tag.id) est appelée
; Si vous souhaitez obtenir l'élément qui a déclenché la fonction dans la fonction déclenchée par ng-click, vous ne pouvez pas le transmettre directement, mais vous devez le transmettre en cas d'événement. Parce que dans Angularjs, c'est à cet endroit que se situe la portée. Nous pouvons transmettre un événement, puis utiliser event.target pour obtenir l'élément dans la fonction.
Line29-30 est à voir par moi-même pendant les tests. Vous pouvez voir le contenu du tableau sélectionné et du tableau selectedTags
 ;
Alors jetez un œil au code AngularJS : (script2.js)

/** 
 * Created by zh on 20/05/15. 
 */ 
// Code goes here 
 
var iApp = angular.module("App", []); 

iApp.controller('AddStyleCtrl', function($scope) 
{ 
  $scope.tagcategories = [ 
    { 
      id: 1, 
      name: 'Color', 
      tags: [ 
        { 
          id:1, 
          name:'color1' 
        }, 
        { 
          id:2, 
          name:'color2' 
        }, 
        { 
          id:3, 
          name:'color3' 
        }, 
        { 
          id:4, 
          name:'color4' 
        }, 
      ] 
    }, 
    { 
      id:2, 
      name:'Cat', 
      tags:[ 
        { 
          id:5, 
          name:'cat1' 
        }, 
        { 
          id:6, 
          name:'cat2' 
        }, 
      ] 
    }, 
    { 
      id:3, 
      name:'Scenario', 
      tags:[ 
        { 
          id:7, 
          name:'Home' 
        }, 
        { 
          id:8, 
          name:'Work' 
        }, 
      ] 
    } 
  ]; 
 
  $scope.selected = []; 
  $scope.selectedTags = []; 
 
  var updateSelected = function(action,id,name){ 
    if(action == 'add' && $scope.selected.indexOf(id) == -1){ 
      $scope.selected.push(id); 
      $scope.selectedTags.push(name); 
    } 
    if(action == 'remove' && $scope.selected.indexOf(id)!=-1){ 
      var idx = $scope.selected.indexOf(id); 
      $scope.selected.splice(idx,1); 
      $scope.selectedTags.splice(idx,1); 
    } 
  } 
 
  $scope.updateSelection = function($event, id){ 
    var checkbox = $event.target; 
    var action = (checkbox.checked&#63;'add':'remove'); 
    updateSelected(action,id,checkbox.name); 
  } 
 
  $scope.isSelected = function(id){ 
    return $scope.selected.indexOf(id)>=0; 
  } 
}); 
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn