2016-05-18 32 views
0

ページを更新し、最初のドロップダウンで選択した値に従って2番目のドロップダウンを作成する必要があります。phpからjavascriptまたはjqueryを呼び出す必要があります

  1. PHPでは、ドロップダウン値を選択します。 Javascript関数reloadproject()を呼び出して、ページを現在の値で再読み込みします。
  2. 次に、$ _GETを使用してプロジェクトIDの値を取得します。
  3. リロード後、私は$ _GETを使用して取得したプロジェクトIDを使用してgetblock(val)関数を呼び出す必要があります。

function reloadproject(val) { 
 
window.location = 'market?id=' + val; 
 
} 
 

 
function getblock(val) { 
 
$.ajax({ 
 
\t type: "POST", 
 
\t url: "list_flat_view_dd.php", 
 
\t data: 'project_id=' + val, 
 
\t success: function(data) { 
 
\t \t $("#block-list").html(data); 
 
\t } 
 
}); 
 
} 
 

 
function getflat(val) { 
 
$.ajax({ 
 
\t type: "POST", 
 
\t url: "list_flat_view_dd.php", 
 
\t data: 'block_id=' + val, 
 
\t success: function(data) { 
 
\t \t $("#flat-list").html(data); 
 
\t } 
 
}); 
 
}
<div class="col-sm-3"> 
 
<select name="project" style="width: 100%;" id="project-list" class="form-control select2" 
 
onChange="reloadproject(this.value);"> 
 
<option value="all">Select</option> 
 
<?php while ($project=m ysqli_fetch_array ($results_project)) { ?> 
 
<option value="<?php echo $project[" id "]; ?>"<?php if(isset($_GET[ 'id'])){if($project[ "id"]==$ filter_project_id){ ?>selected="selected" 
 
\t <?php }} ?>> 
 
\t <?php echo $project[ "name"]; ?> 
 
</option> 
 
    <?php } ?> 
 
</select> 
 
<?php if(isset($_GET[ 'id'])){ ?> 
 
<input type="hidden" name="filter_project_id" id="filter_project_id" value="<?php echo $filter_project_id; ?>"> 
 
<?php } ?> 
 
</div> 
 

 
<div class="col-sm-3"> 
 
    <select name="block" style="width: 100%;" id="block-list" class="form-control select2" onChange="getflat(this.value);"> 
 
<option value="all">Select</option> 
 
    </select> 
 
</div> 
 

 
<div class="col-sm-3"> 
 
    <select name="flat" style="width: 100%;" id="flat-list" class="form-control select2" onChange=""> 
 
<option value="all">Select</option> 
 
    </select> 
 
</div>

+1

なぜあなたはページをリロードする必要がありますか?ページをリロードせずにドロップダウンを塗ることができます – Suyog

+0

ページをリロードして、選択した値に応じてページを表示する必要があります。私は2番目のドロップダウンを埋める必要があります – prithivraj

+0

これは、選択した値に応じてページを表示するためにページをリロードする必要があります - >これは最初のドロップダウンで選択した値にも依存しますか? – Suyog

答えて

0

あなたはあなたの 'getblock' 関数を呼び出す '文書の準備ができて' を使用しようとしたことがあり?:

PHPは最初に実行:ドキュメント内のコードを印刷し、後jQuery $(document).ready()では、ドキュメントが印刷されており、GET ['id']値を持つ隠れた入力がすでにあります。

<input type="hidden" name="filter_project_id" id="filter_project_id" value="<?php echo $filter_project_id; ?>"> 

そして、あなたのスクリプト:

$(document).ready(function() { 

    if ($('#filter_project_id').val().length) { 
     getblock($('#filter_project_id').val()); 
    } 

}); 
+0

ありがとう..私はあなたのアイデアを使った – prithivraj

0

まずドロップボックスは、ページをリロードすると、プロジェクトIDを持つ別の入力ボックスを有効にするには、$ _GETを使用して、これをリロードすることなく、第2のドロップボックスを移入するAJAXとjQueryの関数を呼び出します。

  
 
     function reloadproject(val){ 
 
\t window.location='market?id='+val; 
 
     } 
 
\t $(function() { 
 
\t  if ($('#filter_project_id').val().length) { 
 
\t  var project_id = $("#filter_project_id").val(); 
 
\t  if (project_id) { 
 
\t   $.ajax({ 
 
\t   type: "POST", 
 
\t   url: "list_flat_view_dd.php", 
 
\t   data: 'project_id=' + project_id, 
 
\t   success: function(data) { 
 
\t    $("#block-list").html(data); 
 
\t   } 
 
\t   }); 
 
\t  } 
 
\t  } 
 
\t });
<div class="col-sm-3"> 
 
    <select name="project" style="width: 100%;" id="project-list" class="form-control select2" onChange="reloadproject(this.value);"> 
 
    <option value="all">Select</option> 
 
    <?php while ($project=m ysqli_fetch_array ($results_project)) { ?> 
 
    <option value="<?php echo $project[" id "]; ?>"<?php if(isset($_GET[ 'id'])){if($project[ "id"]==$ filter_project_id){ ?>selected="selected" 
 
     <?php }} ?>> 
 
     <?php echo $project[ "name"]; ?> 
 
    </option> 
 
    <?php } ?> 
 
    </select> 
 
</div> 
 
<?php if(isset($_GET[ 'id'])){ ?> 
 
<input type="hidden" name="filter_project_id" id="filter_project_id" value="<?php echo $filter_project_id; ?>"> 
 
<?php } ?> 
 
<div class="col-sm-3"> 
 
    <select name="block" style="width: 100%;" id="block-list" class="form-control select2" onChange="getflat(this.value);"> 
 
    <option value="all">Select</option> 
 
    </select> 
 
</div>

関連する問題