2012-03-12 28 views
0

我想讓我的ASP:Listbox在JavaScript中引發一個事件,它將挑選出所選的項目,最終將使用它來選擇下一步該做什麼。但是對於任何新事物,我總是試着去了解正在發生的事情,然後再嘗試使之變得複雜。 我能夠得到的JavaScript與通過Javascript讀取的ASP列表框

document.getElementByID() 

連接到列表框和變量填充的物品,但是當我嘗試在項目之一,稱之爲

listbox.options[#].value 

我得到這個錯誤

"Microsoft JScript runtime error: 'listbox' is undefined" 

請幫我找出爲什麼我不能得到的信息。

這只是爲了顯示一個包含單選按鈕的div,它在錯誤發生的「var index =」行中。

function showRadios() { 
     var listBox = document.getElementById('<%= lbxCheckListLevel3.ClientID %>'); 
     var index = listbox.options[2].value; 
     if (listBox.Options[listBox.Options.SelectedIndex].text != null) { 
      var div = document.getElementById("radioDiv"); 
      div.style.visibility = "visible"; 
     } 

在此先感謝

編輯: 沒有任何理由表明,JavaScript難道不抱在var的信息?看來這個變量並沒有保存自己的信息。當改變代碼的2號線到

var index = listbox 

我仍然得到同樣的錯誤,並且沒有信息是那裏,當我鼠標移到它暫停期間。

回答

3

JavaScript是區分大小寫的...所以你會有很多修正要做..

function showRadios() { 
     var listBox = document.getElementById('<%= lbxCheckListLevel3.ClientID %>'); 
     var index = listBox.options[2].value; 
     if (listBox.options[listBox.options.selectedIndex].text != null) { 
      var div = document.getElementById("radioDiv"); 
      div.style.visibility = "visible"; 
     } 
+0

對不起,未啓用的情況下這裏的問題。我已經玩了很多案件。對不起,如果我的問題與問題行有點混淆,但它的索引被設置的行,而不是'if'語句 – Seige 2012-03-12 01:30:05

+0

@Seige,在該行上也有'listbox',而它應該是'listBox' (*大寫** B ***) – 2012-03-12 01:36:37

+0

WOW !!!如何!@#$我沒有看到?當你說大小寫敏感時,我正在查看該單詞的拼寫。 Appologies。並感謝你。 – Seige 2012-03-12 01:39:16