jQuery访问动态创建的单选按钮

jQuery访问动态创建的单选按钮,jquery,dynamic,radio-button,Jquery,Dynamic,Radio Button,我的页面上有3个单选按钮。通过调用jQuery函数加载它们,该函数返回html ex: <script type="text/javascript"><!-- onSelectChange(4); --> 返回的html如下所示: <INPUT TYPE="radio" NAME="songs" VALUE="A">A <INPUT TYPE="radio" NAME="songs" VALUE="B">B <INPUT TYPE=

我的页面上有3个单选按钮。通过调用jQuery函数加载它们,该函数返回html ex:

<script type="text/javascript"><!-- 
 onSelectChange(4);
  -->
返回的html如下所示:

<INPUT TYPE="radio" NAME="songs" VALUE="A">A
<INPUT TYPE="radio" NAME="songs" VALUE="B">B
<INPUT TYPE="radio" NAME="songs" VALUE="C">C
<INPUT TYPE="radio" NAME="songs" VALUE="D">D
$("input[name='songs']").live("change", function() {
  alert($(this).val());
});
但它从来不会触发——我认为这与动态添加控件有关,因为当我在静态html页面上尝试上述操作时,它会按预期触发。有什么想法吗?

动态添加控件时使用,如下所示:

<INPUT TYPE="radio" NAME="songs" VALUE="A">A
<INPUT TYPE="radio" NAME="songs" VALUE="B">B
<INPUT TYPE="radio" NAME="songs" VALUE="C">C
<INPUT TYPE="radio" NAME="songs" VALUE="D">D
$("input[name='songs']").live("change", function() {
  alert($(this).val());
});
这与查找元素并将
change
处理程序绑定到元素不同,它绑定了
document
上的处理程序,该处理程序侦听
change
事件冒泡…无论何时添加元素,情况都是一样的

$("input[name=songs]").change( function() {
 alert($(this).val());
}

name=

后面没有撇号。您可以将名称括在引号中,也可以不括在引号中,两者都是有效的……如果有任何特殊字符需要使用引号。