2016-08-17 56 views
0

我收到了一個顯示產品數量的函數,具體取決於在下拉列表中選擇的值。這是用ajax完成的,但爲了一切正常工作,我需要傳遞一個變量。將變量發佈到ajax腳本

在我catalog.php我:

$pid = $productcatcr[0]['id']; 

其中包含的頁面ID。

在同一頁上,我得到了下拉列表:

<select class="form-control showcount" name="showcount" id="showcount"> 
    <option value="100" selected>Alle</option> 
    <option value="2">2</option> 
    <option value="4">4</option> 
    <option value="8">8</option> 
    <option value="12">12</option> 
    <option value="16">16</option> 
    <option value="20">20</option> 
</select> 

哪像這樣ajax.js工作:

$("#showcount").on('change', function() { 

    $.post("ajax/getproducts.php", {start: ($("#showcount").val() - 4), end: $("#showcount").val()}, function(result){ 
     $("#productviewajax").html(result); 
    }); 
}); 

終於在getproducts.php我用下面的查詢:

$product = "SELECT * FROM `web_content` WHERE `catid` = ".$conn->real_escape_string($_GET['id'])." AND state = 1 order by ordering LIMIT ".$_POST['end'].""; 

我需要從初始頁面通過ajax發佈id到查詢。什麼是最好的方法來做到這一點?我的阿賈克斯不是很好。

我在初始頁面上獲得了另一個篩選器,我只需將該變量傳遞給一個url,但另一個選項元素不能像那樣工作。

例子:

<option value="highlow" data-post-url="prijshooglaag.php?id='.$pid.'">Prijs: Hoog naar laag</option> 
+0

從哪裏'$ _GET ['id']'你有? –

+0

@NanaPartykar無處,這就是爲什麼我問如何讓它張貼在那裏。 – twan

回答

1

創建一個hidden input使用類名稱爲PAGEID(不強制使用相同的類名,但如果你在這裏改變類名在Ajax代碼id:$(".pageId").val()這裏改得兩者都是。相關。)

catalog.php

<?php 

$pid = $productcatcr[0]['id']; 
?> 

<input type='hidden' value='<?php echo $pid;?>' class='pageId'> 

<select class="form-control showcount" name="showcount" id="showcount"> 
    <option value="100" selected>Alle</option> 
    <option value="2">2</option> 
    <option value="4">4</option> 
    <option value="8">8</option> 
    <option value="12">12</option> 
    <option value="16">16</option> 
    <option value="20">20</option> 
</select> 

使用pageId獲取當前頁面ID。並將其傳遞到getproducts.php頁面。

阿賈克斯

$("#showcount").on('change', function() { 
    $.post("ajax/getproducts.php", {start: ($("#showcount").val() - 4), end: $("#showcount").val(),id:$(".pageId").val()}, function(result){ 
     $("#productviewajax").html(result); 
    }); 
}); 

getproducts.php

而是爲$.post$_GET['id']使用$_POST['id']在AJAX中使用。

$product = "SELECT * FROM `web_content` WHERE `catid` = ".$conn->real_escape_string($_POST['id'])." AND state = 1 order by ordering LIMIT ".$_POST['end'].""; 
+0

select元素中的隱藏輸入?如果我選擇一個值,它會自動發佈嗎? – twan

+0

不在'select'裏面。在選擇下拉菜單之前使用。 @twan。某些地方在該頁面的下方選擇下拉或更高。 –

+0

@twan:看到我更新的答案。不要錯過這裏的一件事。你會成功的。 –