如何使用jquery正确地将<select>添加到页面并让更改事件有效?

4 jquery html-select

我目前在页面上有多个选择,使用jquery动态添加ajax调用.

我遇到的问题是,除非我在标签内部使用onchange,否则无法让更改事件在添加的选择上工作,例如

<select id="Size" size="1" onchange="onChange(this);">
Run Code Online (Sandbox Code Playgroud)

这有效,但我想知道是否有办法让它由jquery分配.我试过ajax在$(document).ready的通常位置使用但是没有用.

我尝试在ajax调用之后使用bind添加事件,但这也无效.

分配事件的更好方法是什么?

Jim*_*Jim 7

$( '选择')改变(的onChange($(本)).

您需要了解调用函数和将其作为对象传递之间的区别.函数是JavaScript中的第一类对象,它们就像其他任何对象一样,因此它们可以存储在变量中,作为参数传递给其他函数,等等.

你拥有它的代码调用onChange函数,并将结果提供给jQuery的更改函数.你不希望这样.我们的想法是将函数本身传递给jQuery的更改函数,jQuery在适当的时候调用它.

当你有一个括号 - () - 在一个函数的名字之后,你就是在调用它.否则,您将其视为对象.所以你打算做的事情可以像这样完成:

$('select').change(onChange);
Run Code Online (Sandbox Code Playgroud)