在另一页中使用ajax和echo传递多个值

时间:2017-01-24 05:52:17

标签: php jquery ajax

function getData(des, poid, divid){
            $.ajax({
                type: 'GET',
                url: 'loaddata.php?des=' + des + '&poid='+poid, //call storeemdata.php to store form data

                success: function(data) {
                    var ajaxDisplay = document.getElementById(divid);
                    ajaxDisplay.innerHTML = data;
                }
            });
        }

//Function call
<select name="descr" id="descr" onchange="getData(this.value,this.value,   'displaydata')">

这是代码,我在url中传递了多个值。当我尝试在下一页中回显这些值时,它只回显一次值(des)两次。任何帮助都将受到赞赏。

$slno = $_GET['des'];
$poid = $_GET['poid'];
echo $slno;
echo $poid;

3 个答案:

答案 0 :(得分:1)

<select name="descr" id="descr" onchange="getData(this.value,this.value, 'displaydata')">

问题在于,在显示数据功能中,您将des和poid url变量设置为与上面代码中显示的值相同的值。

答案 1 :(得分:1)

您应该从选项标记传递ass第二个参数内部文本而不是相同的值。要做到这一点,你可以使用:

$(this).find('option:selected').text();

答案 2 :(得分:0)

我找到了办法。感谢所有参与其中的人帮助我。这是代码,它就像一个魅力。

function getData(des, divid){
    var poid = $("select[name='poid']").val();//this line pass second value "poid" in my case
            $.ajax({
                type: 'GET',
                url: 'loaddata.php?',
                data: {des : des, poid : poid},
                success: function(data) {
                    var ajaxDisplay = document.getElementById(divid);
                    ajaxDisplay.innerHTML = data;
                }
            });
        }

函数调用

<select name="des" id="des" onchange="getData(this.value, 'displaydata')">

ajax.php文件

$slno = $_GET['des'];
$pid1 = $_GET['poid'];
echo $slno;
echo $pid1;