我有一個頁面(index2.php)提交給自己,從MySQL數據庫中提取記錄並更新結果表格上的價格。Jquery導致不發送一個GET變量
我寫的編碼需要6次的記錄: rstCar2(汽車的完整列表 - 使用%通配符) rstCarsSw(汽車與比賽countryid '1') rstCarsFr(汽車與比賽countryid '2') rstCarsIt(與匹配countryid汽車 '3') rstCarsGer(汽車行駛該匹配countryid '4') rstCarsAus(與匹配countryid '5' 汽車)
和顯示器6 DIV的每一個列表專用於一個一套汽車(每套名爲'pyt-car') - 每個列表顯示每個國家可用的汽車。
的國家都列出了值從1-6
所以,當你選擇一個國家,使5名DIV的是隱藏的,一個是顯示Jquery的改變CSS。當您選擇不同的國家時,汽車列表即時調整,以便用戶只能看到可用於該國家的汽車。
最初,您可以多次更換汽車,但一旦您點擊一個國家,就會發生錯誤。
選擇國家後,選擇一輛車,然後點擊提交,它拒絕改變汽車,當頁面加載時,它似乎卡在選定的汽車上。
由於一些奇怪的原因,奧地利(身份證號爲5)似乎允許我換車,但是當我切換到德國或其他任何國家時,它都會崩潰。
這是有問題的網頁.... http://www.ultimatedrives.net/plan-your-trip/index2.php
我很好用PHP,但一個JavaScript/jQuery的新手,所以這個代碼可能是相當原始...
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
var countryid = "pyt-country = <?php echo $_POST['pyt-country'] ; ?><br/>";
document.write(countryid);
var carid = "pyt-car = <?php echo $_POST['pyt-car'] ; ?>";
document.write(carid);
if (countryid == "%") {
$('.carAll').css('display', 'block');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'none');
}
if (countryid == "1") {
$('.carAll').css('display', 'none');
$('.carSw').css('display', 'block');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'none');
}
if (countryid == "2") {
$('.carAll').css('display', 'none');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'block');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'none');
}
if (countryid == "3") {
$('.carAll').css('display', 'none');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'block');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'none');
}
if (countryid == "4") {
$('.carAll').css('display', 'none');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'block');
$('.carAus').css('display', 'none');
}
if (countryid == "5") {
$('.carAll').css('display', 'none');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'block');
}
$(document).ready(function() {
$('#pyt-country').change(function() {
if($(this).val() == "%"){
$('.carAll').css('display', 'block');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'none');
}
if($(this).val() == "1"){
$('.carAll').css('display', 'none');
$('.carSw').css('display', 'block');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'none');
}
if($(this).val() == "2"){
$('.carAll').css('display', 'none');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'block');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'none');
}
if($(this).val() == "3"){
$('.carAll').css('display', 'none');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'block');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'none');
}
if($(this).val() == "4"){
$('.carAll').css('display', 'none');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'block');
$('.carAus').css('display', 'none');
}
if($(this).val() == "5"){
$('.carAll').css('display', 'none');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'block');
}
});
}); // End eventlistener
</script>
<form action="index2.php" method="post" name="plan-your-trip" id="plan-your-trip">
<table border="0" align="right" cellpadding="0" cellspacing="5">
<tr>
<td><select name="pyt-country" id="pyt-country">
<option value="%" <?php if ($_POST['pyt-country'] == '') {echo "selected=\"selected\"";} ?><?php if ($_POST['pyt-country'] == '%') {echo "selected=\"selected\"";} ?>>Any Country...</option>
<?php do { ?>
<option value="<?php echo $row_rstCountry['ID']; ?>" <?php if (!(strcmp($row_rstCountry['ID'], $_POST['pyt-country']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rstCountry['CountryName']; ?></option>
<?php } while ($row_rstCountry = mysql_fetch_assoc($rstCountry)); ?>
</select></td>
<td>
<div class="carAll">
<select name="pyt-car" id="pyt-car">
<option value="%" <?php if ($_POST['pyt-car'] == '') {echo "selected=\"selected\"";} ?><?php if ($_POST['pyt-car'] == '%') {echo "selected=\"selected\"";} ?>>Any Car...</option>
<?php do { ?>
<option value="<?php echo $row_rstCar2['car_ID']; ?>" <?php if (!(strcmp($row_rstCar2['car_ID'], $_POST['pyt-car']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rstCar2['car_Name']; ?></option>
<?php } while ($row_rstCar2 = mysql_fetch_assoc($rstCar2)); ?>
</select>
</div>
<div class="carSw">
<select name="pyt-car" id="pyt-car">
<option value="%" <?php if ($_POST['pyt-car'] == '') {echo "selected=\"selected\"";} ?><?php if ($_POST['pyt-car'] == '%') {echo "selected=\"selected\"";} ?>>Any Car...</option>
<?php do { ?>
<option value="<?php echo $row_rstCarsSw['car_ID']; ?>" <?php if (!(strcmp($row_rstCarsSw['car_ID'], $_POST['pyt-car']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rstCarsSw['car_Name']; ?></option>
<?php } while ($row_rstCarsSw = mysql_fetch_assoc($rstCarsSw)); ?>
</select>
</div>
<div class="carFr">
<select name="pyt-car" id="pyt-car">
<option value="%" <?php if ($_POST['pyt-car'] == '') {echo "selected=\"selected\"";} ?><?php if ($_POST['pyt-car'] == '%') {echo "selected=\"selected\"";} ?>>Any Car...</option>
<?php do { ?>
<option value="<?php echo $row_rstCarsFr['car_ID']; ?>" <?php if (!(strcmp($row_rstCarsFr['car_ID'], $_POST['pyt-car']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rstCarsFr['car_Name']; ?></option>
<?php } while ($row_rstCarsFr = mysql_fetch_assoc($rstCarsFr)); ?>
</select>
</div>
<div class="carIt">
<select name="pyt-car" id="pyt-car">
<option value="%" <?php if ($_POST['pyt-car'] == '') {echo "selected=\"selected\"";} ?><?php if ($_POST['pyt-car'] == '%') {echo "selected=\"selected\"";} ?>>Any Car...</option>
<?php do { ?>
<option value="<?php echo $row_rstCarsIt['car_ID']; ?>" <?php if (!(strcmp($row_rstCarsIt['car_ID'], $_POST['pyt-car']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rstCarsIt['car_Name']; ?></option>
<?php } while ($row_rstCarsIt = mysql_fetch_assoc($rstCarsIt)); ?>
</select>
</div>
<div class="carGer">
<select name="pyt-car" id="pyt-car">
<option value="%" <?php if ($_POST['pyt-car'] == '') {echo "selected=\"selected\"";} ?><?php if ($_POST['pyt-car'] == '%') {echo "selected=\"selected\"";} ?>>Any Car...</option>
<?php do { ?>
<option value="<?php echo $row_rstCarsGer['car_ID']; ?>" <?php if (!(strcmp($row_rstCarsGer['car_ID'], $_POST['pyt-car']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rstCarsGer['car_Name']; ?></option>
<?php } while ($row_rstCarsGer = mysql_fetch_assoc($rstCarsGer)); ?>
</select>
</div>
<div class="carAus">
<select name="pyt-car" id="pyt-car">
<option value="%" <?php if ($_POST['pyt-car'] == '') {echo "selected=\"selected\"";} ?><?php if ($_POST['pyt-car'] == '%') {echo "selected=\"selected\"";} ?>>Any Car...</option>
<?php do { ?>
<option value="<?php echo $row_rstCarsAus['car_ID']; ?>" <?php if (!(strcmp($row_rstCarsAus['car_ID'], $_POST['pyt-car']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rstCarsAus['car_Name']; ?></option>
<?php } while ($row_rstCarsAus = mysql_fetch_assoc($rstCarsAus)); ?>
</select>
</div>
</td>
<td> </td>
</tr>
<tr>
<td><select name="pyt-month" id="pyt-month">
<option value="%" <?php if ($_POST['pyt-month'] == '') {echo "selected=\"selected\"";} ?><?php if ($_POST['pyt-month'] == '%') {echo "selected=\"selected\"";} ?>>Any Month...</option>
<?php
do {
?>
<option value="<?php echo $row_rstMonth['mNumber']?>"<?php if (!(strcmp($row_rstMonth['mNumber'], $_POST['pyt-month']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rstMonth['mName']?></option>
<?php
} while ($row_rstMonth = mysql_fetch_assoc($rstMonth));
$rows = mysql_num_rows($rstMonth);
if($rows > 0) {
mysql_data_seek($rstMonth, 0);
$row_rstMonth = mysql_fetch_assoc($rstMonth);
}
?>
</select></td>
<td><select name="pyt-style" id="pyt-style">
<option value="%" <?php if ($_POST['pyt-style'] == '') {echo "selected=\"selected\"";} ?><?php if ($_POST['pyt-style'] == '%') {echo "selected=\"selected\"";} ?>>Any Break Style...</option>
<?php do { ?>
<option value="<?php echo $row_rstGenre['ID']; ?>" <?php if (!(strcmp($row_rstGenre['ID'], $_POST['pyt-style']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rstGenre['GenreName']; ?></option>
<?php } while ($row_rstGenre = mysql_fetch_assoc($rstGenre)); ?>
</select></td>
<td><input name="submit" type="submit" id="submit" value="Refine Results" /></td>
</tr>
</table>
</form>
當我選擇了一輛汽車,國家,數據看起來像這樣... PYT-國家= 5 PYT-車= 999945
如果我改變這個國家德國(4)ABD選擇法拉利F12(ID 999980 ),然後返回這個... pyt-country = 4 pyt-car = 999945
因此,國家正在發送,但不是汽車。
源代碼如下所示:
<form action="index2.php" method="post" name="plan-your-trip" id="plan-your-trip">
<table border="0" align="right" cellpadding="0" cellspacing="5">
<tr>
<td><select name="pyt-country" id="pyt-country">
<option value="%" >Any Country...</option>
<option value="1" >Switzerland</option>
<option value="2" >France</option>
<option value="3" >Italy</option>
<option value="4" >Germany</option>
<option value="5" selected="selected">Austria</option>
</select></td>
<td>
<div class="carAll">
<select name="pyt-car" id="pyt-car">
<option value="%" >Any Car...</option>
<option value="999979" >Aston Martin V12 Vanquish</option>
<option value="999993" >Aston Martin V8 Vantage Coupe</option>
<option value="999925" >Aston Martin V8 Vantage S</option>
<option value="9999100" >Aston Martin Vantage Roadster</option>
<option value="999995" >Aston Martin Virage Volante V12 </option>
<option value="999960" >Audi R8 Spyder V10</option>
<option value="999916" >Audi S5 Cabriolet</option>
<option value="999989" >Audi S5 Sportback</option>
<option value="999951" >Bentley GT V8</option>
<option value="999982" >Bentley GTC V8</option>
<option value="999912" >BMW Z4 sDrive35is </option>
<option value="999931" >Ferrari California</option>
<option value="999980" >Ferrari F12</option>
<option value="999972" >Ferrari F458 Spider</option>
<option value="999996" >Jaguar F-Type V8</option>
<option value="999998" >Lamborghini Aventador</option>
<option value="9999101" selected="selected">Lamborghini Gallardo LP570</option>
<option value="9999102" >Lamborghini Murcielago Roadster LP640</option>
<option value="999981" >McLaren MP4-12C Spider</option>
<option value="999991" >Mercedes CLA 250</option>
<option value="999917" >Mercedes E Class Cabriolet</option>
<option value="999985" >Mercedes SLS Roadster</option>
<option value="999945" >Porsche 911 C2S Cabrio</option>
<option value="999994" >Porsche 911 C2S Coupe</option>
<option value="999920" >Porsche 981 Boxster S</option>
<option value="999984" >Porsche Cayenne S</option>
<option value="999946" >Porsche Panamera GTS</option>
<option value="999969" >Range Rover Evoque</option>
<option value="999938" >Range Rover Sport V8 </option>
</select>
</div>
<div class="carSw">
<select name="pyt-car" id="pyt-car">
<option value="%" >Any Car...</option>
<option value="999993" >Aston Martin V8 Vantage Coupe</option>
<option value="999925" >Aston Martin V8 Vantage S</option>
<option value="9999100" >Aston Martin Vantage Roadster</option>
<option value="999995" >Aston Martin Virage Volante V12 </option>
<option value="999916" >Audi S5 Cabriolet</option>
<option value="999951" >Bentley GT V8</option>
<option value="999931" >Ferrari California</option>
<option value="999980" >Ferrari F12</option>
<option value="999972" >Ferrari F458 Spider</option>
<option value="999996" >Jaguar F-Type V8</option>
<option value="999998" >Lamborghini Aventador</option>
<option value="9999101" selected="selected">Lamborghini Gallardo LP570</option>
<option value="9999102" >Lamborghini Murcielago Roadster LP640</option>
<option value="999917" >Mercedes E Class Cabriolet</option>
<option value="999945" >Porsche 911 C2S Cabrio</option>
<option value="999994" >Porsche 911 C2S Coupe</option>
<option value="999920" >Porsche 981 Boxster S</option>
<option value="999946" >Porsche Panamera GTS</option>
<option value="999969" >Range Rover Evoque</option>
</select>
</div>
<div class="carFr">
<select name="pyt-car" id="pyt-car">
<option value="%" >Any Car...</option>
<option value="999960" >Audi R8 Spyder V10</option>
<option value="999982" >Bentley GTC V8</option>
<option value="999931" >Ferrari California</option>
<option value="999980" >Ferrari F12</option>
<option value="999972" >Ferrari F458 Spider</option>
<option value="999996" >Jaguar F-Type V8</option>
<option value="999998" >Lamborghini Aventador</option>
<option value="9999101" selected="selected">Lamborghini Gallardo LP570</option>
<option value="999981" >McLaren MP4-12C Spider</option>
<option value="999985" >Mercedes SLS Roadster</option>
<option value="999945" >Porsche 911 C2S Cabrio</option>
<option value="999920" >Porsche 981 Boxster S</option>
</select>
</div>
<div class="carIt">
<select name="pyt-car" id="pyt-car">
<option value="%" >Any Car...</option>
<option value="999993" >Aston Martin V8 Vantage Coupe</option>
<option value="999925" >Aston Martin V8 Vantage S</option>
<option value="9999100" >Aston Martin Vantage Roadster</option>
<option value="999995" >Aston Martin Virage Volante V12 </option>
<option value="999916" >Audi S5 Cabriolet</option>
<option value="999951" >Bentley GT V8</option>
<option value="999931" >Ferrari California</option>
<option value="999980" >Ferrari F12</option>
<option value="999972" >Ferrari F458 Spider</option>
<option value="999996" >Jaguar F-Type V8</option>
<option value="999998" >Lamborghini Aventador</option>
<option value="9999101" selected="selected">Lamborghini Gallardo LP570</option>
<option value="9999102" >Lamborghini Murcielago Roadster LP640</option>
<option value="999917" >Mercedes E Class Cabriolet</option>
<option value="999945" >Porsche 911 C2S Cabrio</option>
<option value="999920" >Porsche 981 Boxster S</option>
<option value="999946" >Porsche Panamera GTS</option>
</select>
</div>
<div class="carGer">
<select name="pyt-car" id="pyt-car">
<option value="%" >Any Car...</option>
<option value="999925" >Aston Martin V8 Vantage S</option>
<option value="9999100" >Aston Martin Vantage Roadster</option>
<option value="999916" >Audi S5 Cabriolet</option>
<option value="999951" >Bentley GT V8</option>
<option value="999931" >Ferrari California</option>
<option value="999980" >Ferrari F12</option>
<option value="999972" >Ferrari F458 Spider</option>
<option value="999996" >Jaguar F-Type V8</option>
<option value="999998" >Lamborghini Aventador</option>
<option value="9999101" selected="selected">Lamborghini Gallardo LP570</option>
<option value="9999102" >Lamborghini Murcielago Roadster LP640</option>
<option value="999945" >Porsche 911 C2S Cabrio</option>
<option value="999994" >Porsche 911 C2S Coupe</option>
<option value="999920" >Porsche 981 Boxster S</option>
<option value="999946" >Porsche Panamera GTS</option>
</select>
</div>
<div class="carAus">
<select name="pyt-car" id="pyt-car">
<option value="%" >Any Car...</option>
<option value="999980" >Ferrari F12</option>
<option value="999996" >Jaguar F-Type V8</option>
<option value="999998" >Lamborghini Aventador</option>
<option value="9999101" selected="selected">Lamborghini Gallardo LP570</option>
<option value="9999102" >Lamborghini Murcielago Roadster LP640</option>
<option value="999945" >Porsche 911 C2S Cabrio</option>
<option value="999994" >Porsche 911 C2S Coupe</option>
<option value="999920" >Porsche 981 Boxster S</option>
</select>
</div>
</td>
<td> </td>
</tr>
<tr>
<td><select name="pyt-month" id="pyt-month">
<option value="%" selected="selected">Any Month...</option>
<option value="01">January</option>
<option value="02">February</option>
<option value="03">March</option>
<option value="04">April</option>
<option value="05">May</option>
<option value="06">June</option>
<option value="07">July</option>
<option value="08">August</option>
<option value="09">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select></td>
<td><select name="pyt-style" id="pyt-style">
<option value="%" selected="selected">Any Break Style...</option>
<option value="8881" >Gourmet & Wine</option>
<option value="8882" >Historic & Castles</option>
<option value="8885" >Honeymoon & Romantic</option>
<option value="88811" >Greatest Driver Roads</option>
<option value="88812" >James Bond Inspired</option>
<option value="88813" >Jet Set</option>
<option value="88814" >Multi Country Tours</option>
<option value="88815" >Porsche Celebration</option>
<option value="88816" >Natural spas</option>
</select></td>
<td><input name="submit" type="submit" id="submit" value="Refine Results" /></td>
</tr>
</table>
</form>
據我刪除然而偵聽POST和隱藏的div 即
if (countryid == "%") {
$('.carAll').css('display', 'block');
$('.carSw').css('display', 'none');
$('.carFr').css('display', 'none');
$('.carIt').css('display', 'none');
$('.carGer').css('display', 'none');
$('.carAus').css('display', 'none');
}
那麼這一切工作正常,初步的jQuery,當頁面加載時,它會返回完整的汽車列表,但我想要記住,我選擇了一個國家,只顯示與該國家相關的DIV,並隱藏其他DIVS,直到選擇了另一個國家。
謝謝,你真是個天才! ...我希望這是我忽略的東西。 我們爲'實驗室之王'獲得了一個小獎盃......爲修復令人頭痛的問題的人頒獎。所以我把它放在窗口旁邊(所以你可能會從Street View LOL中看到它) –