你如何在live元素上使用typeahead?

时间:2014-10-10 09:40:20

标签: jquery typeahead.js

使用typeahead.js

通常您会像$(element).typeahead({ ... })一样使用它,但是如何在" live"元素?

$(parent).on('typeahead', element, function() { ??? });

1 个答案:

答案 0 :(得分:0)

我"解决了#34;它通过创建一个将typeahead附加到元素的函数。然后我在pageload和添加新元素之后使用了这个函数。

function addTypeaheadToInput(input) {
    $(input).typeahead(...);
}

在pageload上运行:

var inputs = form.querySelectorAll('[name*="[search]"]');
for (var i = 0; i < inputs.length; ++i) {
    addTypeaheadToInput(inputs[i]);
}

每次添加新元素时都会调用该函数:

form.querySelector('#add_new_row').onclick = function() {
    var tr = newrow(); // A function to create a new table row containing our input element.

    addTypeaheadToInput(tr.querySelector('[name*="[search]"]'));
}