2016-08-17 15 views
0

ドロップダウンリストで選択された値に応じて商品の量を表示する関数があります。これはajaxで行われますが、すべてが正常に動作するためには変数を渡す必要があります。私catalog.php変数をajaxスクリプトに投稿する

私が得た:

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

ページIDが含まれています。同じページで

私は、DropDownListコントロール得た:

<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を通して質問に投稿する必要があります。これを行う最善の方法は何でしょうか?私のアヤックスはあまり良くありません。

最初のページで、変数をURLに渡すことができる別のフィルタがありますが、他のオプション要素はそのようには機能しません。

例:

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

ここから '$ _GET ['id']'が見つかりましたか? –

+0

@NanaPartykarだからこそ、私はそこに投稿する方法を尋ねています。 – twan

答えて

1

同じクラス名を持つ必須ではありません(PAGEIDとしてクラス名を持つ1 hidden inputを作成していますが、ここでは、クラス名を変更している場合は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ページにそれを渡してください。

は、Ajax

$("#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として使用$_POST['id']$_GET['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

選択要素の中の隠れた入力?値を選択すると自動的に投稿されますか? – twan

+0

'選択 'の中にありません。その前にドロップダウンを選択してください。 @ twan。そのページの下のいずれかでドロップダウンまたはそれ以上を選択するページがあります。 –

+0

@twan:私の更新された答えを見てください。ここで一つのことをお見逃しなく。あなたは成功する。 –

関連する問題