jQuery .change()根本不工作

时间:2015-01-22 02:58:11

标签: javascript jquery html

我有一个菜单,可以根据所选内容更改页面内容。这是网站(它还没有功能,我需要让它工作,然后才能触及其他任何内容:http://dinotator.biokdd.org/ResearchProject/tableViewer.php

我已经尝试过这个人做了什么:HTML <select> JQuery .change not working,甚至试图将函数移动到文档中的所有不同位置(除了文档的头部,因为它不是一个选项,因为事实上,head位于一个名为header.php的文件中,该文件包含在需要它的每个文件中。我的菜单的HTML如下所示:

<select id="menu">
    <option name="blankOption"></option>
    <option name="annotation_flags" id="annotation_flags" value="Annotation Flags">Annotation Flags</option>
    <option name="character_trait_annotations" id="character_trait_annotations" value="Character Trait Annotations">Character Trait Annotations</option>
    <option name="character_traits" id="character_traits" value="Character Traits">Character Traits</option>
    <option name="characters" id="characters" value="Characters">Characters</option>
    <option name="franchises" id="franchises" value="Franchises">Franchises</option>
    <option name="users" id="users" value="Users">Users</option>
</select>

我尝试在不同的地方(首先,在它之后,现在,在它之前),使用它:

$('#menu').change(
    function()
    {
        var tableTitle = $(this).val();
        alert(tableTitle);
    }
);

出于某种原因,每当我点击任何选项时,没有任何反应!! 我做错了什么!?!?

1 个答案:

答案 0 :(得分:1)

页面中有2个问题(因为您没有在问题中提供完整的脚本,此处无法看到问题)。

  1. 脚本部分中存在语法错误,该错误在浏览器控制台中显示为Uncaught SyntaxError: Unexpected token },导致脚本标记下的任何脚本无法执行。问题是width插件中layout选项的值,值100%是一个字符串值,所以它应该是`width:&#39; 100%&#39;
  2. 您的更改事件注册不在dom ready处理程序中,并且在将元素添加到dom之前执行脚本。
  3. 所以

    $(document).ready(function () {
        $('#tableEditButtons').layout({
            type: 'grid',
            rows: 1,
            minimumHeight: $('button').height(),
            vgap: 0,
            hgap: 100,
            width: '100%'
        });
        $('#menu').change(function () {
            var tableTitle = $(this).val();
            alert(tableTitle);
        });
    });