2012-11-27 32 views
2

當前我正在嘗試編寫一個將下拉菜單的值附加到html鏈接的方法。不過,我無法從菜單中檢索選擇的文本。我將問題縮小到Javascript中的selectedIndex方法。它返回undefined。我在下面列出了我的方法。Javascript selectedIndex在HTML下拉菜單上返回undefined

function getSize(productID){ 
    var sizeBox = document.getElementsByName(productID); 
    alert(document.getElementsByName(productID).selectedIndex); 
    var sizeSelected = sizeBox.options[sizeBox.selectedIndex].text; 
    alert(sizeSelected); 
    var link = document.getElementById(productID).getAttribute("href"); 
    link = link + "&size=" + sizeSelected; 
    document.getElementById(productID).setAttribute("href",link); 
    return true; 
} 
+0

爲什麼不把示例代碼放在像jsfiddle這樣的地方,但它很難閱讀/理解格式,不要猶豫間隔和任何增加代碼的可讀性) – dmi3y

+0

那麼這些提示顯示了什麼? – RobG

+0

謝謝大家!問題解決了!我遇到了這個參數的問題。 – BooBailey

回答

4

getElementsByName返回HTMLCollection。你應該說:getElementsByName[0]

+0

謝謝!我嘗試了以下調整:'var sizeBox = document.getElementsByName(productID)[0];'和'var sizeSelected = sizeBox.options [sizeBox.selectedIndex] .text;'。兩者仍然返回undefined。 – BooBailey