Выпадающий список Ajax и сетки (PHP)

#php #jquery #ajax #select #drop-down-menu

#php #jquery #ajax #выберите #выпадающее меню

Вопрос:

В настоящее время я пытаюсь создать сетку Ajax / PHP на основе выпадающего выбора.

Во-первых, на странице у меня есть выпадающее окно выбора, при выборе переменная передается на страницу PHP, которая выполняет оператор select, и я отображаю таблицу grid на странице.

Я использую библиотеку jquery / jquery.dataTables.js чтобы сделать таблицу сортируемой и удобной для навигации. Таблица / сетка выводится, но сортировка столбцов и подкачка страниц не работает, кто-нибудь может помочь Ps. Я пробовал и другие библиотеки grid, и они не работают????

Пожалуйста, посмотрите на используемый ниже код:

 <script type="text/javascript" src="/js/jquery-1.5.1.js"></script>
<script type="text/javascript" src="/js/jquery.dataTables.js"></script>
<script type="text/javascript" charset="utf-8"> 
$(document).ready(function() {
    $('table#example').dataTable( {
        "sPaginationType": "full_numbers"
    } );
} );
</script> 


<script type="text/javascript">
function selMetal(str,str2){
    if (str==""){
    document.getElementById("txtHint").innerHTML="";
        return;
    } 
    if (window.XMLHttpRequest){
        // code for IE7 , Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }else{
        // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState==4 amp;amp; xmlhttp.status==200){
            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","sql.php?m=" str "amp;s=" str2,true);
    xmlhttp.send();
}
</script>
  

Затем php-скрипт отображает таблицу между ними

Заранее спасибо за помощь.

Ответ №1:

Вам не нужно использовать браузер обнаружения и выполнять вызов ajax. Просто используйте метод .ajax(). Вы должны использовать этот код:

 <script type="text/javascript">

function selMetal(str,str2){
    if (str==""){
    document.getElementById("txtHint").innerHTML="";
        return;
    } 

    $.ajax({
      url: "sql.php",
      data: {m:str, s:str2},
      success: function(data) { $("#txtHint").html(data); },
      dataType: "html"
    });

}

</script>
  

Не уверен, решит это вашу проблему или нет. Попробуйте 🙂

Комментарии:

1. Спасибо, но мой код работает с отправкой переменных в php, но происходит то, что php выдает таблицу, которая отображается между div как: <идентификатор div=txtHint><идентификатор таблицы =»example»><thead><tr><td> Столбец 1</td><td> Столбец 2</td></tr></thead><tr><td>данные 1</td></tr><tr><td> данные 1</td> td> данные 1</td><td> данные 2</td><td> данные 2 </td></tr></таблица></div> и я использую библиотеку jquery datatables для сортировки столбцов, но сортировка не работает. Если I таблица не повторяется с php, а таблица вырезана и вставлена на html-страницу, тогда сортировка работает. Кто-нибудь знает, почему сортировка таблицы не работает.