javascript - Typeahead.js 在远程 url 中包含动态变量

标签 javascript jquery typeahead.js

我已经尝试了几个小时,在我的“远程”路径中获取一个变量。变量将根据另一个输入而改变。这是代码:

school_value = $('#school').val();
$('#school').change(function () {
    school_value = $(this).val();
    $('#programme').typeahead('destroy'); // I have also tried with destroy - but it doesnt work.
});
$('#programme').typeahead({
    remote: 'typeahead.php?programme&type=1&school_name=' + school_value,
    cache: false,
    limit: 10
});

变量“school_type”未在远程地址中设置,因此未被调用。

你知道如何让它工作吗?我刚刚从 Bootstrap 2.3 切换到 3,然后注意到 typeahead 已被弃用。上面的代码适用于 Bootstrap 2.3,但似乎在初始化脚本时,远程路径被锁定。

最佳答案

我找到了解决方案!代码:

$('#programme').typeahead({
    remote: {
        url: 'typeahead.php?programme&type=1&school_name=',
        replace: function () {
            var q = 'typeahead.php?programme&type=1&school_name=';
            if ($('#school').val()) {
                q += encodeURIComponent($('#school').val());
            }
            return q;
        }
    },
    cache: false,
    limit: 10
});

基于此线程答案:Bootstrap 3 typeahead.js - remote url attributes

参见 typeahead.js docs 中的函数“replace”

关于javascript - Typeahead.js 在远程 url 中包含动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18688891/

相关文章:

javascript - 如何在 JavaScript 中用正则表达式匹配第 n 个字符后的所有字符?

javascript - Bootstrap 菜单更改事件类更改不起作用

javascript - 使用 href Jquery 的值更新输入

jquery - 使用变量访问json对象?

css - Bootstrap Typeahead 结果转移

javascript - 某些 Node 对象是否继承自两个类?

javascript - 数据表激活单单元格编辑 onclick(第 2 部分)

javascript - JavaScript/jQuery 事件排序有问题吗?

javascript - 用户从 typeahead.js 选择结果后如何保存值?

javascript - 触摸设备上的 Twitter 提前输入 - 现在有什么交易?