我想在输入字段的输入发生变化时执行一些javascript代码。我首先指定了一个oninput事件处理函数名。
<input type="text" name="venue_name" value="<?php echo $event->venue_name(); ?>"
class="form-control w2bw2c-name w2bw2c-venue-name" placeholder="Search..."
oninput="inputChange()">
我在我的文档就绪函数之外定义了inputChange函数,这已经工作了一段时间,但现在它无效了。现在我有了这段代码:
<input type="text" name="venue_name" value="<?php echo $event->venue_name(); ?>"
class="form-control w2bw2c-name w2bw2c-venue-name" placeholder="Search...">
在我的document.ready函数中,我有:
$('select.w2bw2c-name').input(function() {
inputChange(this);
});
在我的document.ready函数之外,我有函数:
function inputChange(x) {
... some code ...
};
现在,当我在输入字段中输入一些文本时,我收到inputChange
未定义的消息。也许复杂的是我必须使用一个类作为选择器,但是输入字段可能在一个表单中出现多次,我最初会让它工作。
答案 0 :(得分:1)
.input()
不是附加input
事件的有效方式,您应该使用.on()
,例如:
$('select.w2bw2c-name').on('input', function() {
inputChange(this);
});
注意:当您输入时,您的选择器会引用select
标记,它可能是:
$('input.w2bw2c-name')..
而不是:
$('select.w2bw2c-name')..
答案 1 :(得分:0)
我的HTML末尾有我的javascript。我将其中的一部分(所谓的“未定义”函数)移动到我的HTML头部,并按照预期触发事件。问题现在是被调用函数inputChange对数据库进行AJAX调用,而不是返回所有数据(填充自动提示列表)。我将保存另一个问题。