下拉列表中的jQuery更改事件

shi*_*ppi 7 javascript jquery jsp

我刚刚将查询库添加到我的Web应用程序并使用简单警报进行测试:

<script src="<c:url value="/resources/jquery-1.10.2.min.js" />"></script>
<script type="text/javascript">
            $(function(){
                alert('jquery is working');
            }); 
</script>
Run Code Online (Sandbox Code Playgroud)

并且工作正常.但是当我想在我的下拉列表中实现"更改"事件时

<script src="<c:url value="/resources/jquery-1.10.2.min.js" />"></script>
<script type="text/javascript">
        $("#projectKey").change(function() {
            alert($('option:selected', $(this)).text());
        });
</script>
Run Code Online (Sandbox Code Playgroud)

它没有显示任何警报,基本上没有任何事情发生.我的下拉是以下内容:

<select id="projectKey" name="projectKey">
    <option value="AM">AM</option>
    <option value="AIL">AIL</option>
    <option value="NEB">NEB</option>
    <option value="SSP">SSP</option>
</select>
Run Code Online (Sandbox Code Playgroud)

当然我试图简化javascript,只是有

$("#projectKey").change(function() {
            alert("test");
});
Run Code Online (Sandbox Code Playgroud)

但仍然没有快乐.这将是选择器或下拉菜单.也试过"select#projectKey"但结果当然是一样的.知道我做错了什么吗?

ade*_*neo 33

你应该保持DOM就绪功能

$(function() {
    $("#projectKey").change(function() {
        alert( $('option:selected', this).text() );
    });
});
Run Code Online (Sandbox Code Playgroud)

如果您在DOM中的元素之前添加了javascript,则文档尚未就绪,您必须使用DOM ready函数或在元素之后添加javascript,通常位置在</body>标记之前