php
  • jquery
  • ajax
  • 2016-09-17 1 views 2 likes 
    2

    index.phpWie mehrere #div-ID in der Ajax für die erweiterte Suchfunktion

    $('#search1, #search2').change(function() { 
    var value = $(this).val(); 
    $.ajax({ 
        type:"post", 
        url:"php/search.php", 
        data:'task1='+value, 
        success: function(response){ 
        $('#result').html(response); 
        } 
        }); 
    }); 
    
    <select id="search1" name="task1">....</select> 
    <select id="search2" name="task2">...</select> 
    
    <div id="result"></div> 
    

    search.php

    if (isset($_POST['task1']) ? $_POST['task1'] : false) { 
        $option = isset($_POST['task1']) ? $_POST['task1'] : false; 
        $sql = "SELECT * FROM <tablename> WHERE <columnName>='$option'"; 
        if (isset($_POST['task2']) ? $_POST['task2'] : false) { 
        $pilihan = isset($_POST['task2']) ? $_POST['task2'] : false; 
        $sql = "SELECT * FROM <tablename> WHERE <columnName>='$option' and <columnName>='$pilihan'"; 
        } 
    } 
    

    Meine Frage, wie kann ich mehrere # passieren wird passieren div in einen Ajax. Mit anderen Worten, wie Sie sicherstellen können, dass # search2 und # task2 ihren Prozess übergeben und abfragen können wie # search1 und # task1.

    Antwort

    2

    Sie können den Namen des ausgewählten Tags erhalten, während Sie die Optionen ändern und eine neue Variable erstellen, und übergeben Sie diese dann ebenfalls.

    index.php

    $('#search1, #search2').change(function() { 
    var value1 = $(#search1).val(); 
    var value2 = $(#search2).val(); 
    var str = 'task1='+value1+'task2='+value2; 
    $.ajax({ 
        type:"GET", 
        url:"php/search.php", 
        data: str, 
        success: function(response){ 
        $('#result').html(response); 
        } 
        }); 
    }); 
    
    <select id="search1" name="task1">....</select> 
    <select id="search2" name="task2">...</select> 
    
    <div id="result"></div> 
    

    search.php

    $option = false; 
    if (isset($_GET['task1'])) { 
        $option = $_GET['task1']; 
        $sql = "SELECT * FROM <tablename> WHERE <columnName>='$option'"; 
    } 
    if (isset($_GET['task2']) { 
        if (isset($_GET['task1'])) { 
         $option = $_GET['task1']; 
        } 
        $pilihan = $_GET['task2']; 
        $sql = "SELECT * FROM <tablename> WHERE <columnName>='$option' and <columnName>='$pilihan'"; 
    } 
    

    ich diese Hoffnung wird helfen, Ihr Ziel zu erreichen

    +0

    Vielen Dank jetzt kann ich den Wert von jedem Funktion wähle, es mehr auf dem Ergebnis filtert. Mit anderen Worten, wenn ich nur eine