2014-02-23 58 views
1

現在的問題是創建一個函數showLink(),它有一個變量sIndx指向當前選擇列表中所選選項的索引。javascript getElementByTagName

<select name="executive" id="executive" class="optionLinks"> 
     <option value="#">Select a Web site</option 
     <option value="http://www.whitehouse.gov">The White House</option> 
     <option value="http://www.usda.gov">Department of Agriculture</option>    
    </select> 
    <select name="legislative" id="legislative" class="optionLinks"> 
     <option value="#">Select a Web site</option> 
     <option value="http://www.house.gov">House Web Site</option> 
     <option value="http://www.house.gov/house </option> 
     <option value="http://clerk.house.gov/">Clerk of the House</option>  
    </select> 
    <select name="judicial" id="judicial" class="optionLinks"> 
     <option value="#">Select a Web site</option> 
     <option value="http://www.uscourts.gov">U.S. Courts</option> 
     <option value="http://www.uscourts.gov/supremecourt.html">U.S.Supreme    </select> 

我的回答:

function Link() { 
    sIndex = document.getElementByTagName("select")[this.select].options[selectedIndex]; 
    location.href = sindex.value; 
} 

的網頁沒有加載,我仍然看到的選項點擊,任何幫助嗎?

回答

1

您錯誤地輸入了函數名稱,它應該是document.getElementsByTagName(複數「元素」)。

功能document.getElementsByTagName("select")將返回一個select對象的數組。爲了獲得正確的對象,你需要知道它在數組中的正確索引。您正在使用this.select,請務必檢查它是否有正確的值。

即使有效,我也沒有看到您在代碼中定義了selectedIndex變量的位置。也許你的意思是這樣的:

function Link() { 
    var obj = document.getElementByTagName("select")[this.select]; 
            // assuming this ^^^^^^^^^^^ is the right index 
    var item = obj.options[obj.selectedIndex]; 
    location.href = item.value; 
} 

也有你的HTML一個錯字,在#legislative您沒有正確關閉value屬性,它可能會導致問題。