2013-04-05 133 views
1

我遇到了一個不尋常的錯誤,我不知道爲什麼。jQuery - onChange事件不會在結果網站上觸發

我有一個搜索掩碼的頁面。根據您的選擇,我通過JSON從php文件獲取可用數據並使用它填充選擇選項。其目的是當您選擇特別優惠時,您只列出了可用的類型和區域,而不是那些沒有優惠活動的活動。

主要它使用document.Ready函數或onchange =「updateFunction」事件在頁面的每個站點上工作。

現在,當我做搜索和顯示數據(GET)工作正常,onChange jQuery事件似乎並沒有觸發,我不知道爲什麼。繼承人得到了什麼...(我之前用doc.ready函數做過)

function updateDestination(){ 
    $('select#feld-urlaubsart').change(function() { 
     var options = ''; 
     $.getJSON("database/checkoffers.php",{offertype: $(this).val()}, function(data){ 
     for (var i = 0; i < data.length; i++) { 
      options += '<option value="' + data[i].optionValue + '">' + data[i].optionDisplay + '</option>'; 
     } 
     $("select#feld-reiseziel").html(options); 
     }); 
    }); 
    } 

    function updateRegions(){ 
     $('select#feld-reiseziel').change(function() { 
     var options = ''; 
     $.getJSON("database/checkregions.php",{country: $(this).val()}, function(data){ 
     for (var i = 0; i < data.length; i++) { 
      options += '<option value="' + data[i].optionValue + '">' + data[i].optionDisplay + '</option>'; 
     } 
     $("select#feld-region").html(options); 
     }); 
     }); 
    } 

有沒有人有同樣的問題beofre?

編輯:

<select id="feld-urlaubsart" name="Urlaubsart" title="Bitte Angebotsart auswählen..."> 
<option value="0" selected="selected">Alle anzeigen</option> 
<optgroup label="Golfurlaub mit Greenfees" title="Golfurlaub mit Greenfees"> 
<option value="1" title="Alle Greenfee Angebote">Alle Greenfee-Angebote</option> 
<option value="2" title="Top-Angebote">Top-Angebote</option> 
<option value="3" title="Golfurlaub mit 4 Tage Greenfee">Golfurlaub mit 4 Tage Greenfee</option> 
<option value="4" title="Golfurlaub mit 5 Tage Greenfee">Golfurlaub mit 5 Tage Greenfee</option> 
<option value="5" title="Golfurlaub mit 6 Tage Greenfee">Golfurlaub mit 6 Tage Greenfee</option> 
<option value="6" title="Golfurlaub mit 7 Tage Greenfee">Golfurlaub mit 7 Tage Greenfee</option> 
<option value="7" title="Golfurlaub mit 14 Tage Greenfee">Golfurlaub mit 14 Tage Greenfee</option> 
<option value="8" title="Sonderangebote">Sonderangebote</option> 
</optgroup> 

<optgroup label="Golfreisen mit Golfkurs" title="Golfreisen mit Golfkurs"> 
<option value="9" title="Alle Golfkurs-Angebote">Alle Golfkurs-Angebote</option> 
<option value="10" title="Top-Angebote">Top-Angebote</option> 
<option value="11" title="Golfreise mit Platzreifekurs">Golfreise mit Platzreifekurs</option> 
<option value="12" title="Golfreise mit DGV-Platzreifekurs">Golfreise mit DGV-Platzreifekurs</option> 
<option value="13" title="Golfreise mit Turnierreifekurs">Golfreise mit Turnierreifekurs</option> 
<option value="14" title="Golfreise mit Handicapkurs">Golfreise mit Handicapkurs</option> 
<option value="15" title="Golfreise mit Wochenend-Intensivkurs">Golfreise mit Wochenend-Intensivkurs</option> 
<option value="16" title="Golfreise mit Turniergolfwoche">Golfreise mit Turniergolfwoche</option> 
<option value="17" title="Professionell begleitete Golfreise">Professionell begleitete Golfreise</option> 
</optgroup> 
</select> 

Reiseland<br /> 
<select id="feld-reiseziel" name="Reiseziel" title="Bitte Reiseland auswählen..."> 
<option value="Egal" selected="selected">Alle anzeigen</option> 

<?php foreach ($data as $row) : ?> 
<option value="<?php echo $row['OfferCountry'] ; ?>" title="<?php echo $row['OfferCountry'] ; ?>"><?php echo $row['OfferCountry'] ; ?></option> 
<?php endforeach; ?> 
</select> 

<select id="feld-region" name="Region" title="Bitte Region auswählen..."> 
<option value="Egal" selected="selected">Alle anzeigen</option> 
<?php foreach ($data as $row) : ?> 
<?php if(!empty ($row['OfferRegion'])) :?> 
<option value="<?php echo $row['OfferRegion'] ; ?>" title="<?php echo $row['OfferRegion'] ; ?>"><?php echo $row['OfferRegion'] ; ?></option> 
<?php endif; ?> 
<?php endforeach; ?> 
</select> 

回答

2

嘗試委託給文檔

$(document).on('change','select#feld-urlaubsart',function(){ 
    ..... 
}); 

,我不認爲你需要的功能調用改變事件......除去功能function updateDestination(){function updateRegions(){除非你是因爲其他一些原因叫它

+0

仍然noch運氣,我不知道可能是什麼原因造成這種情況。是否存在衝突,因爲我處於GET結果並嘗試使用JSON「獲取」數據? – Dreshar 2013-04-05 13:48:16

+0

不可以..你可以發佈select html – bipen 2013-04-05 13:50:03

+0

更新它在主條目中 – Dreshar 2013-04-05 13:55:31