Ich habe ein dynamisches Dropdown-Menü für 3 Spieltypen, das mit jquery und php codiert ist. Wenn für das Spieltyp-Dropdown Baseball ausgewählt ist, zeigt die entsprechende Liga nur Baseball-Ligen. Wenn Fußball ausgewählt ist, zeigt die entsprechende Liga nur Fußball-Ligen und so weiter. Dies wurde mit jQuery erreicht. Ich bin gezwungen, $ ("# game_type_id") zu verwenden. Change(); Damit für jeden Spieltyp ausgewählt wird, wird die entsprechende Liga angezeigt. Aber der Nachteil ist, was auch immer du im Liga-Drop-Down auswählst, nachdem die Seite die selbe Auswahl nie behalten hat, wegen der erzwungenen Ausführung von $ ("# game_type_id"). Change(). Aber wenn wir prüfen wollen, ob die Auswahl korrekt ist, kann ich ja sagen, dass sich der php-Link, zB game_type_id = 1 & q_lid = 64, ändert.Wie man Jquery codierte Dynamische Dropdown-Menüs in Harmonie mit PHP-GET-Variablen arbeiten lässt
Gibt es eine Möglichkeit, dies mit dem PHP-Code in Einklang zu bringen?
HTML (Smarty PHP Framework)
Game Type:
<select id="game_type_id" name="game_type_id" style="width:100px;margin-bottom:5px; margin-top: 10px;margin-left: 5px;">
<option value="1" {if $game_type_id == 1}selected="selected" {/if}> Baseball</option>
<option value="2" {if $game_type_id == 2}selected="selected" {/if}> Soccer </option>
<option value="3" {if $game_type_id == 3}selected="selected" {/if}> Flexi </option>
</select>
League:
<select name="q_lid" id="q_lid">
<option value="0">-- Select --</option>
{foreach from=$league_list item=league}
<option class="league_group league_group_{$league.game_type_id}" value="{$league.league_id}" {if $q_lid==$league.league_id} selected="selected" {/if}>{$league.league_short_name}</option>
{/foreach}
</select>
<select id="fl_ctg" name="fl_ctg">
<option value="0" > --Flex Category -- </option>
{foreach $f_bet_type as $val}
<option value="{$val.category_id}" {if $fl_ctg == $val.category_id}selected="selected"{/if}>{$val.category_full_name}</option>
{/foreach}
</select>
<input type="submit" id="btn_search" name="btn_search" value="Search" style="cursor:pointer;width:50px;"/>
Js Code
$(document).ready(function(){
$(function() {
$("#game_type_id").change();
});
var options = $("#q_lid").children(".league_group").clone();
//Game Type Dropdown
$("#game_type_id").bind("change",function() {
var type = $(this).val();
$("#q_lid").prop("disabled",false);
if(type == 3)
$("#fl_ctg").show();
else
{
$("#fl_ctg").hide();
$("#fl_ctg").val(0);
}
// select league according to game type
$(".league_group").prop('selected', false)
.remove();
options.clone()
.filter('.league_group_'+this.value)
.appendTo('#q_lid')
.first()
.prop('selected', true);
$("#q_lid").change();
});
//League Dropdown
$("#q_lid").bind("change",function() {
var gtype = $("#game_type_id").val();
if(gtype==3)
$("#fl_ctg").show();
else
{
$("#fl_ctg").hide();
$("#fl_ctg").val(0);
}
});
$('#btn_search').click(function()
{
var q_lid = $('#q_lid').val();
var fl_ctg = $('#fl_ctg').val();
var q_str = '';
if(q_lid.length > 0){
q_str += '&q_lid='+q_lid;
}
if(fl_ctg.length > 0){
q_str += '&fl_ctg='+fl_ctg;
}
if(game_type_id.length > 0){
q_str += '&game_type_id='+game_type_id;
}
});
PHP-Code
if(isset($_GET['q_lid']) && !empty($_GET['q_lid'])){
$q_lid = mysql_real_escape_string(trim($_GET['q_lid']));
}
if(isset($_GET['fl_ctg']) && $_GET['fl_ctg']<>0)
{
$fl_ctg = mysql_real_escape_string(trim($_GET['fl_ctg']));
}
$smarty->assign('q_lid',$q_lid);
$smarty->assign('fl_ctg',$fl_ctg);
$sql_team_orderby = "league_priority DESC";
$league_data = LeagueClass::getLeagueDetails('', '', '',$sql_team_orderby, '');
$smarty->assign('league_list', $league_data);
$f_sql_category="SELECT * FROM category ";
$f_category_result=Db::getInstance()->queryExecuteFull($f_sql_category, $array = true);
$smarty->assign('f_bet_type', $f_category_result);