jquery
  • css
  • jquery-mobile
  • jquery-mobile-radio
  • 2013-05-11 2 views 1 likes 
    1

    У меня есть пучок переключателей в раскрывающемся списке, которые используют ниже, чтобы показать и скрыть связанные divs, что позволит им использоваться в качестве формы навигации.динамические переключатели, так как навигация не работает до обновления страницы

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

    Это работает найти, когда я загрузить страницу, код содержится в

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

    Однако я также хочу, чтобы иметь возможность dynanically добавлять новые кнопки радио - дивы точка кнопки уже есть на странице. Я добавляю кнопки с:

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

    и обновить DIV, что contians кнопки с:

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

    Когда я затем вызвать всплывающее окно с кнопками TTE все они появляются, как ожидалось, и являются правильно. однако, когда кнопки нажимаются, они ничего не делают, они даже не запускают какое-либо событие. Если я переделаю страницу, все они начнут работать так, как ожидалось.

    Может ли кто-нибудь помочь мне в этом?

    +0

    Необходимо указать область .on на элемент предка, присутствующий в invo время катирования – mplungjan

    +0

    Не могли бы вы поместить его в jsfiddle? – Edper

    ответ

    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(); 
    }); 
    
    +1

    сладкий, который сделал трюк. Спасибо за вашу помощь – Danbuntu

    0

    использовать этот код: Refrence
    $(":radio[name='radio']").live("change", function() { var test = $(this).val(); $(".radio").hide(); $("#" + test).show(); });

     Смежные вопросы

    • Нет связанных вопросов^_^