2013-05-29 110 views
1

我有這樣的腳本:jQuery的動態下拉列表

jQuery(document).ready(function($){ 

$('#website').change(function() { 

    $.get('inc/dropdown.php',{id: $(this).val() },function(d){ 
     $('#loc').replaceWith(d); 
    }); 
}); 
}); 

有了這個HTML的第一個下拉列表。

<label for="website"><strong>Web Site:</strong></label> 
<?php inc dynamic form ?> 

並且這被替換爲動態下拉。

<span id="loc">Please select an option from above.</span> 

我遇到的問題是,當我點擊網站下拉菜單中的項目時,它不會更新其他下拉菜單。它堅持第一次被點擊。

+0

jsfiddle.net/jMhPx/2 - 你提供的jsfiddle。我很想知道哪些數據正在通過。你可以'console.log'的'D',看看你在得到什麼?另外,你能否解釋一下「其他下拉」是什麼意思,以及你在第一個問題上卡住了什麼? – smerny

+0

當您單擊列表中的其中一個條目時,它將向PHP文件發送一個ID。然後創建另一個回顯出來的下拉框,顯示出來。發生什麼事是,當你點擊一個它應該運行的應用程序時,但如果你點擊另一個下拉條目,它就會與舊的下拉菜單一起。位置下拉是根據在網站中選擇的值下拉而做出的位置。 @smerny – Jiggles

+1

'd'中包含了什麼?如果它不包含'#loc',它第二次不會工作的原因是因爲'#loc'不再存在(你正在替換它) – smerny

回答

0

我遇到的問題是,當我在網站下拉列表中的項目之間單擊它不更新其他下拉

你說的其他下拉菜單是什麼意思?這裏您使用的是ID,因此您不能使用相同的腳本進行其他下拉菜單。如果你需要這些代碼可以被不同的元素使用,你應該考慮使用類來代替。

此外,您正在使用.replaceWith而不是.text,.replaceWith應該在替換DOM元素時使用,是您的意圖嗎?