2011-11-18 56 views
0

我正在使用jQuery UI的自動完成腳本的Combobox。 但現在我必須實現一個函數,該函數在選擇第一個條目之後隱藏與選定條目不同的第二個組合框的每個選項。使用jQuery UI自動完成的事件處理程序 - Combobox

也許有點更清晰:

選擇一個: kundenauswahl

選擇二: jobauswahl

如果 「kundenauswahl」 的選項selectet,腳本應該檢查的選項第二選擇/組合框它們是否有比「kundenauswahl」所選選項相同的ID如果是的話,這些選項schould顯示,如果沒有這些選項應該被隱藏...

我不知道我搞砸了, 但我現在寫的劇本,我的網頁加載後留空白...... 在Firebug的任何錯誤信息......

也許有人可以幫助?

我敢肯定有這個劇本里面的一些鐵道部失敗...

我會很高興,如果S/O可以幫助我...... :-(

下面的代碼:

$(document).ready(function() { 

     $("#kundenauswahl").combobox({ 
      selected: function(event, ui) { 
       var optionid = document.getElementById("kundenauswahl")[document.getElementById("kundenauswahl").selectedIndex].id; 
       changeoptions(optionid); 
       return; 
      } // selected 
     }); // combobox 

     $("#jobauswahl").combobox({ 

     }); //combobox 

    }); // ready(function()) 


function changeoptions(kundenid) { 
    var idtoshow = kundenid; 
    for (var counter = 0; counter < document.getElementsByName("joboption").length; counter++) { 
     if (document.getElementsByName("joboption")[$counter].id == idtoshow) { 
      document.getElementById(idtoshow).style.display = "block"; 
     } else { 
      document.getElementById(idtoshow).style.display = "none"; 
     } 
    } 
} 

回答

0

你有一個變量「$櫃檯」,而不是「反」一個錯字。 還,如果你使用jQuery,爲什麼不走一路? 例如,使用

$('#kundenauswahl option:selected')[0].id

代替:

document.getElementById("kundenauswahl")[document.getElementById("kundenauswahl").selectedIndex].id

最後,也許如果未選擇任何選項頁面加載時,你將有一個問題。

+0

感謝那些提示,但它仍然不工作:-( –

+0

好吧,我已經讓頁面再次工作 - 我忘了爲選項定義id。:-D,但它似乎仍然似乎處理程序doesn' t工作... –

+0

你是什麼意思「處理程序不工作」?選定的函數沒有被調用?或者它沒有做你認爲它應該做的?順便說一句,調試情況的2個技巧是使用控制檯.log(「xxx」)和alert(「xxx」),第一個將文本寫入調試控制檯(如果你的瀏覽器支持它),後者將把消息發送到屏幕上,所以你可以知道interperter的位置並且你可以顯示不同的變量。另外,chrome調試器是很棒的恕我直言 – idanzalz