2015-10-11 2 views
2

Я следующие настройки Ajax с помощью Google дизайн материал облегченной:MDL- componentHandler.upgradeDom(); после того, как Ajax вызова

first.php

<button class="rhm_add_button" type="button" > 
    Show      
</button> 
<div class="rhm_add"></div> 


<script> 
jQuery(document).ready(function() { 
      jQuery('.rhm_add_button').click(function(e) { 
       e.preventDefault(); 
       jQuery.ajax({ 
        type: "GET", 
        url: "<?php echo admin_url('admin-ajax.php'); ?>", 
        dataType: 'html', 
        data: ({ action: 'rhmp_indi_form'}), 
        success: function(data){ 
          jQuery('.rhm_add').html(data); 
       },     
       error: function(data) 
       { 
       alert("Error!"); 
       return false; 
       } 
       }); 
     }); 
    }); 
</script> 

functions.php

function rhmp_indi_form_callback() { 
    $template_part_path = 'page-parts/second_page'; 
    get_template_part($template_part_path); 
    exit; 
} 
add_action('wp_ajax_rhmp_indi_form', 'rhmp_indi_form_callback'); 
add_action('wp_ajax_nopriv_rhmp_indi_form', 'rhmp_indi_form_callback'); 

Second_file.php

<div class="mdl-textfield mdl-js-textfield">          
    <input class="mdl-textfield__input" type="text" id="title" name="title"/> 
    <label class="mdl-textfield__label" for="title">Name</label>           
</div> 

Как вы можете видеть, я использую лей и, когда содержимое загружается через AJAX, они не работают должным образом, и я нашел следующее решение от GitHub: https://github.com/google/material-design-lite/issues/1043

Решение было то, что мне нужно use "componentHandler.upgradeDom();" после вызова ajax, и я не уверен, как это сделать.

У кого-нибудь есть идея, как реализовать это?

Спасибо!

ответ

5

Позвоните по номеру componentHandler.upgradeDom() после того, как вы ввели в DOM любые динамические элементы.

В вашем случае, вызовите его после jQuery('.rhm_add').html(data)

+0

этого, кажется, не делать ничего – krummens

0
 success: function(data){ 
         jQuery('.rhm_add').html(data); 
        window.componentHandler.upgradeDom();      }, 
+2

Добавьте описание к ответу. –

+0

Хотя этот код может ответить на вопрос, было бы лучше включить какой-то контекст, объяснить, как он работает и когда его использовать. Ответы только на код не полезны в долгосрочной перспективе. – Bono

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