2016-03-23 18 views
2

Ich versuche, die Datenbanktabelle mit PHP anzuzeigen. Wenn die Seite geladen ist, muss ich alle Tabellendaten anzeigen, und wenn ich die Dropdown-Auswahl anwähle, muss ich nur die zugehörigen Daten anzeigen, dh wo die Bedingung steht. Ich brauche keine SQL-Abfrage oder PHP-Code dafür, ich brauche nur jquery. HierWie ajax auszuführen, wenn Seite geladen wird

$(document).ready(function() 
{ 
    $('#myHref').change(function() 
    { 
       var value = $('#myHref').val(); 
       $.get('get_projectName.php',{id:value},function(data) 
       { 
        $('#projectDetail').html(data); 
       }); 
    }); 
    $('#myHref').on('change',function() 
    { 
     $('#projectDetail').fadeIn(); 
    }); 
}); 

, wenn ich wählen Sie im Dropdown-Menü id="myHref"get_projectName.php ausführen, aber ich brauche get_projectName.php auszuführen, wenn Seite zu laden, bevor wählen Drop-Down ist, so kann ich alle Daten

Plz Hilfe angezeigt werden !!

+0

so können Sie in Javascript wie 'var get_prj verwenden =;' – Yash

+0

Also, wenn Sie die 'ausführen möchten get_projectName.php' vor dem Änderungsereignis, was wirst du als ID übergeben ?? –

+0

teilen html auch – itzmukeshy7

Antwort

0

Sieht aus wie Ihr Element (z. B. #myHref) nicht zu der Zeit, wenn Ihr Skript vorhanden ist. Und wenn Sie alle Daten auf laden möchten, rufen Sie einfach die Funktion z.

function getData(){//ajax here} 
getData(); 

läuft. Gibt es Fehler? oder etwas, das helfen kann?

+0

nein, es gibt keinen Fehler. Jetzt kann ich Daten ausgeben, wenn ich das Dropdown-Menü mit der WHERE-Klausel auswähle. N es funktioniert perfekt. Jetzt muss ich alle anzeigen, wenn die Seite ohne Bedingung in Abfrage geladen wird .... –

+0

Siehe bearbeitete Antwort :) –

+0

ok, ich benutze '$ ('# myHref'). On ('ändern', function() { $ ('# projectDetail'). FadeIn();' –

0
function getData(value) { 
    params = {}; 

    if value 
     params.id = value; 

    $.get('get_projectName.php', params, function (data) { 
     $('#projectDetail').html(data); 
    }); 
} 
// Get Data onLoad 
getData($('#myHref').val()); 

$('#myHref').on('change',function(){ 
    getData($('#myHref').val()); 
    $('#projectDetail').fadeIn(); 
}); 
+0

Wie man params in get_projectName.php verwendet –

+0

Die aktuelle Implementierung ist getData (id_params) aber Sie können es leicht ändern, indem Sie den if-Wertblock entfernen und zu 'params = value || {}; 'Sie können problemlos Objekte übergeben als Parameter – kiro112

1

In dem obigen Code versuchen Sie die ausgewählte ID PHP-Datei über $ .get() übergeben, wenn der Drop-Down geändert wird. es ist in Ordnung, wenn Sie alle Daten anzeigen möchten, wenn die Seite geladen wird, dann sollten Sie einen anderen PHP haben, der alle Daten in db zurückgibt und keinen Wert annimmt. Und schreiben Sie den Code wie unten

$(document).ready(function() { 
     $.get('get_allDataFromDb.php',function(data) 
      { $('#projectDetail').html(data); 
     }); 
     $('#myHref').change(function(){ 
      var value = $('#myHref').val(); 
      $.get('get_projectName.php',{id:value},function(data) 
       { $('#projectDetail').html(data); 
      }); 
     }); 
     $('#myHref').on('change',function(){ 
      $('#projectDetail').fadeIn(); 
     }); 
}); 
+0

' $ .get ('get_allDataFromDb.php', Funktion (Daten) {$ ('# projectDetail'). html (Daten); }); donot funktioniert' –

0

Versuchen Sie, wie dieses

$(document).on("change", "#myHref" , function() { 

// Your Code Here 

}); 

lassen Sie mich im Falle wissen, dass es immer noch nicht funktionieren.

+0

dies wird ausgeführt Daten, wenn ich dropdown wähle, muss ich auch ausführen, wenn ich nothng wähle, dh wenn Seite lädt –

+0

in solch einem Fall, was Sie tun können, ist, machen Sie etwas functio n, die die Daten dynamisch erhalten, wenn Sie auftauchen, und wenn Ihr Dokument geladen ist, was Sie tun können, ist das Ereignis für Ihre Dropdown-Änderung auszulösen. –

+0

ja, ich will genau das, was bt nicht kann. Beispiel wird am besten und geschätzt –

2

bt Ich brauche get_projectName.php auszuführen, wenn Seite geladen ist, bevor wählen Drop-Down-so kann ich alle Daten anzeigen

So will ich sehen Sie zunächst laden get_projectName.php einmal ausführen, wenn Lasten Seite und auch ausführen wenn es Änderungen im Dropdown-Menü gibt. So können Sie tun, wie unten

$(document).ready(function() { 
    //make a call initially on page load 
    var firstOptionValue = $("#myHref option:eq(1)").val() // take first option value as default 
    $.get('get_projectName.php',{id:firstOptionValue},function(data) 
    { 
     $('#projectDetail').html(data); 
    }); 


    $('#myHref').change(function(){ 
     var value = $('#myHref').val(); 
     $.get('get_projectName.php',{id:value},function(data) 
     { 
      $('#projectDetail').html(data); 
     }); 
    }); 

    $('#myHref').on('change',function(){ 
     $('#projectDetail').fadeIn(); 
    }); 
}); 

Refactoring den Code, können Sie einfach die gemeinsame Logik in eine Funktion herausziehen und diese Funktion aufrufen, indem Sie den gewünschten Wert vorbei, siehe unten

$(document).ready(function() { 
    //make a call initially on page load 
    var firstOptionValue = $("#myHref option:eq(1)").val(); // take first option value as default 
    GetProjectDetails(firstOptionValue); 


    $('#myHref').change(function(){ 
     var value = $('#myHref').val(); 
     GetProjectDetails(value); 
    }); 

    $('#myHref').on('change',function(){ 
     $('#projectDetail').fadeIn(); 
    }); 

    function GetProjectDetails(value){ 
    $.get('get_projectName.php',{id:value},function(data) 
    { 
     $('#projectDetail').html(data); 
    }); 
    } 
}); 
+0

thnks, gr8 idea bt das funktioniert, wenn ich zuerst etwas aus dem dropdown wähle und wieder die erste option wähle. Bt am Anfang wird es nichts anzeigen –

+0

ich versuchte, wenn nicht ausgewählt dann 'if (id = 'wert_der_ersten_option') {do something} else {then next thn}' –

+0

Am Anfang benötigen Sie einen Pass einen Standardwert zu Ihrem PHP-Code Recht? Ich habe Ihnen gerade gezeigt, wie Sie den ersten Wert standardmäßig übergeben. Sie können Ihre Logik zu dem, was Ihnen passt, ändern –

0

Ok, hier ist meine andere Antwort, wie Sie ein Ereignis auslösen können, nachdem unser Dokument fertig ist.

hoffe das wird dir behilflich sein.

<script> 
      $(document).ready(function(){ 

       //Function for AJAX Call 
       function GetData(){ 

        var value = $('#myHref').val(); 
        $.get('get_projectName.php',{id:value},function(data) 
        { 
         $('#projectDetail').html(data); 
         // 
         $('#projectDetail').fadeIn(); 
         // Any other code here you want to write. 

        }); 

       } 

       $('#myHref').change(); 
       //OR you can use 
       $("#myHref").trigger("change"); 

      });    
      $(document).on("change", "#myHref" , function() { 
       // Call the function as change evvent is triggered 
       GetData(); 
      }); 
     </script> 
+0

Sie können auch die Funktion GetData außerhalb der document.ready –

+0

lassen Sie mich wissen, wenn Sie nicht irgendwo verstehen. –

Verwandte Themen