1

我在弹出窗口中有一堆单选按钮,它们使用下面的内容来显示和隐藏相关的 div,从而允许它们用作一种导航形式。

   $(":radio[name='radio']").on("change", function () {
        var test = $(this).val();
        $(".radio").hide();
        $("#" + test).show();
    });

这可以在我加载页面时找到,代码包含在

$('#gameIndex').on('pageshow', function (event, ui) {

但是,我也希望能够动态添加新的单选按钮 - 按钮指向的 div 已经存在于页面上。我正在添加按钮:

$("#buttons").append('button code')

然后刷新包含按钮的div:

$("#radiodiv").trigger("create");

然后,当我使用 tte 按钮触发弹出窗口时,它们都按预期显示并且主题正确。但是,当单击按钮时,它们什么也不做,它们甚至似乎都不会触发任何类型的事件。如果我刷新页面,它们都开始按预期工作。

有人可以帮我吗?

4

2 回答 2

0

使用此代码: 参考
$(":radio[name='radio']").live("change", function() { var test = $(this).val(); $(".radio").hide(); $("#" + test).show(); });

于 2013-05-12T10:19:10.180 回答
0

您当前的更改绑定:

$(":radio[name='radio']").on("change", function () {
    var test = $(this).val();
    $(".radio").hide();
    $("#" + test).show();
});

不会对新添加的元素进行追溯工作,您需要使用委托事件绑定才能使其工作:

$(document).on('change', ':radio[name="radio"]',function () {
    var test = $(this).val();
    $(".radio").hide();
    $("#" + test).show();
});
于 2013-05-11T12:55:15.497 回答