一尘不染

下拉时的jQuery change事件

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>

并且工作正常。但是,当我想在下拉菜单中实现“更改”事件时

<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>

它没有显示警报,基本上什么也没发生。我的下拉列表如下:

<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>

当然,我尝试简化javascript,

$("#projectKey").change(function() {
            alert("test");
});

但仍然没有喜悦。选择器或下拉菜单将有所不同。也尝试过“ select#projectKey”,但结果当然是相同的。知道我在做什么错吗?


阅读 248

收藏
2020-06-08

共1个答案

一尘不染

您应该保留DOM ready函数

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

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

2020-06-08