2010-03-07 8 views
2

Je dois obtenir la valeur de la première case à cocher qui est cochée et le nom de la classe commence par 'rqc', par exemple. rqc205jQuery Selector - vérifié et la classe commence par

J'ai essayé: requestID=$('#requestsTable').find('input[class^='rqc']:checked').val();

mais il donne rien, alors que requestID=$('#requestsTable').find('input:checked').val(); œuvres, mais ne limite pas à la classe.

Répondre

5

Vous avez une erreur de syntaxe. Corrigez vos citations autour de la valeur de l'attribut, ou supprimez-les complètement (elles ne semblent pas nécessaires).

requestID = $('#requestsTable').find("input[class^='rqc']:checked").val(); 

ou

requestID = $('#requestsTable').find("input[class^=rqc]:checked").val(); 
+0

Cela a résolu le problème – Alex

1

Peut-être:

requestID = $('#requestsTable').find('input[class^="rqc"]').filter(':checked').val(); 

Ceci est, actuellement décochée/non vérifié. Je pense qu'il devrait fonctionner, mais je suis encore nouveau à jQuery, donc je vais poster la possibilité, vérifier et ensuite modifier si nécessaire. À ma grande surprise, cela fonctionne.

Mais il vaut la peine de souligner, je pense, qu'il pourrait être plus facile d'obtenir la valeur en utilisant l'événement click() de jQuery.

$(document).ready(
    function() { 
     $('input[class^="rqc"]').click(
      function() { 
       var requestID = $(this).val(); 
      } 
     ); 

    } 
); 

Bien que cela dépende de ce que vous faites exactement, et pourquoi.

+1

Vous avez une erreur de syntaxe –

+0

Je sais, je corrigeais que pendant que j'edited. –