Por que esse evento .Change não está disparando no jQuery?
Pergunta
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>System Toolbox</title>
<script src="../../Scripts/jquery-1.3.2.js" type="text/javascript" />
<script type="text/javascript">
$document.ready(function() {
$("#SearchFor").change(function() {
alert($(this).val());
});
});
</script>
</head>
<body>
<div>
Search for: <select name="SearchFor" id="SearchFor">
<option value="company">Company</option>
<option value="user">User</option>
<option value="bundle">Bundle</option>
<option value="course">Course</option>
</select>
<div id="SearchType"></div>
</div>
</body>
</html>
Sem erros de JavaScript por Firebug ...
Solução
Sua instrução Document.Ready está incorreta. Deveria estar:
$(document).ready(function() {
...
});
Outras dicas
Você escreveu
$document.ready(function() {
Mas deve ser isso: em vez disso:
$(document).ready(function() {
Tente isso em vez disso:
$(function() { //Shortcut for $(document).ready();
$("#SearchFor").change(function() {
alert($(this).val());
});
});
Além disso, é melhor usar tags de script como esta ainda:
<script src="../../Scripts/jquery-1.3.2.js" type="text/javascript"></script>
Veja esta pergunta para obter mais detalhes: Por que as tags de script de fechamento não funcionam?
deveria ser apenas
$(function() {
$("#SearchFor").change(function() {
alert($(this).val());
});
});
$document
não é uma referência válida a um objeto jQuery, tente
$(document)
Observe os parênteses
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow