2011-03-04 4 views
2

juste travailler sur quelques petites pages comme des éléments d'un beaucoup plus grand projet et je suis complètement confus à mon problème actuel voici mon code:jQuery .Modification() pas de tir

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> 
<STYLE TYPE="text/css"> 
    .questionBlock { font-size: x-large; color: red } 
</STYLE> 

<script type="text/javascript"> 
$(document).ready(function() { 
alert("sdsd") 
$("input[@name='questionType']").change(function(){ 
    alert("dfdfdf"); 
    var selected = $("form input:radio:checked").val(); 
    alert(selected); 
}) 
}); 

</script> 

<form action=""> 
<input type="radio" name="questionType" value="closed" /> Closed Endeded<br /> 
<input type="radio" name="questionType" value="matrix" /> Matrix Question<br /> 
<input type="radio" name="questionType" value="open" /> Open Ended 
</form> 

<div class="questionBlock" id="closed">lol</div> 
<div class="questionBlock" id="open">rol</div> 
<div class="questionBlock" id="matrix">bol</div> 

Mais l'événement change jamais les incendies Quel que soit le navigateur, j'ai aussi essayé d'utiliser bind, mais ça me fait remonter le mur!

Répondre

5

jQuery attribute selectors n'a pas besoin de préfixe @ (comme XPath). Changer votre code comme ceci:

$("input[name='questionType']").change(function(){ 

Here est une version de travail.

+0

* facepalm * Merci pour l'aide – user644666

1

vous devez supprimer le @fiddle

$(document).ready(function() { 

    $('input[name="questionType"]').change(function(){ 
     alert("dfdfdf"); 
     var selected = $("form input:radio:checked").val(); 
     alert(selected); 
    }) 
    }); 
0

jQuery ne pas utiliser "@" dans les sélecteurs attr style Xpath plus. Ceci étant le cas, votre sélecteur ne correspond à rien.