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

时间:2010-09-30 15:43:31

标签: jquery dynamic radio-button

我的页面上有3个单选按钮。通过调用返回html ex:

的jQuery函数来加载它们
<script type="text/javascript"><!-- 
 onSelectChange(4);
  -->

调用此函数:

function onSelectChange(parm){

        $.post("func.php", {function_name : "song"},
            function(data){
                $("#list").html(data.song_html);
                }, "json");
} 

返回的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']").change( function() {
 alert($(this).val());

它永远不会触发 - 我认为它与动态添加控件有关,因为当我在静态html页面上尝试上述内容时,它会按预期触发。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

动态添加控件时使用.live(),如下所示:

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

这样做的方式不同,它不是查找元素并将change处理程序绑定到它们,而是绑定document上的处理程序,该处理程序监听change事件冒泡...无论何时添加元素,都会以相同的方式发生。

答案 1 :(得分:0)

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

姓名后没有撇号=