2015-11-03 57 views
0

我試圖建立一個頁面,選擇部門將填充一個< SELECT>(名爲#SEL_Position)與各種< OPTION>標籤它應該在其中列出僅屬於該部門的職位。 I found a script to go from這正是我正在尋找的(我以前的工作方式在IE中不起作用)並試圖實現它。從#SEL_Department中選擇一個項目會使#SEL_Position出現,我已經工作了。但是,填充位置的腳本(我在其中找到它的位置)似乎並未影響#SEL_Position內的HTML,因此完全保留空白。嘗試使用Javascript/jQuery填充選擇菜單,但腳本不起作用

所以你可以看到我有什麼,enter code herehere's a JSFiddle of the page.我做錯了什麼?我錯過了什麼?我是否犯了一些我看不見的愚蠢錯字,因爲我的大腦填充了我所「知道」的內容?我想讓這個腳本工作,因爲它看起來很容易在將來維護。

+0

好吧,我已經通過將腳本完全放入頁面而不是外部Javascript文件中來完成它的工作。但是,仍然存在兩個問題。 1)出於某種原因,來自@JosephMarikle的建議使用.trigger('change')導致調用堆棧溢出。它在JSFiddle上適用於他,但不在我身邊的活動服務器上。 2)在直播頁面上,無論第一個選擇是什麼,位置菜單都會出現,但是顯然是缺少'case_var'。你必須選擇一個不同於你想要的部門,然後選擇你的部門,它的工作原理。 –

回答

0

只是一對夫婦的typoes:

  • $(this).attr("case_var")應該$('option:selected', this).attr("case_var")
  • list(DeptExecutive);應該list(Dept_Executive);
  • $("#SEL_Position").append("option...應該$("#SEL_Position").append("<option...

這裏有一個工作版本:http://jsfiddle.net/dk0pjhw4/

+0

O.K.,這很奇怪。它適用於JSFiddle,但它不適用於我們的服務器。我甚至將你的腳本複製/粘貼到一個新的.js文件中,並引用該文件,但它仍然無法在我們的服務器上運行。 –

+0

@NickZachariasen確保您關注控制檯的錯誤輸出。我爲這個演示所做的只是拋出一些'console.log'調用來調試,並指出在javascript控制檯中出現的錯誤。我的猜測是,有些路徑是錯誤的,或者jquery還沒有被引導,或者是某個其他原因被破壞了。 –

+0

重要的是,這是一個使用母版頁佈局的ASPX文件嗎?我已經確定主頁面中的鏈接是正確的,並在單個文件中註釋了jQuery加載。 在任何一種情況下,事實證明,爲了清除控制檯錯誤,它給了我關於jQuery加載(顯然並不完全阻止它工作)的源於Visual Studio的要求,我要求瀏覽jQuery文件的位置對它們進行手工編碼。加載時,Chrome控制檯中不再顯示任何錯誤。我怎樣才能檢查這個錯誤呢? –