javascript
  • select
  • dynamic
  • javascript-events
  • 2011-05-21 102 views 1 likes 
    1

    以下代碼在選擇框中操作選項時正常工作。但是當我把它放在表格中時它不起作用。請幫忙。提前致謝。訪問表單元素時的問題

    <html> 
    <head> 
    <title>Catogery list</title> 
    <script type="text/javascript"> 
    var catogeries=new Object(); 
    
    catogeries['Accessories'] = 'Cosmetics/Perfumes|Jewelry|Handbags|Shoes|Watches'; 
    catogeries['Entertainment/Media'] = 'Videos/Movies|Art|Photo|News|Television|Music'; 
    catogeries['Automobile'] = 'Cars| Motorcycles| Tools & Supplies| Accessories'; 
    catogeries['Books & Magazines'] = 'eBooks| Audio Books| Books| Magazines'; 
    catogeries['Business & Career'] = 'Real Estate| Office| Productivity Tools| Employment| B-TO-B| Marketing'; 
    catogeries['Apparel'] = 'Childrens| Mens| Womens'; 
    
    function subcat(elem) 
    { 
    var catarr; 
    var subb=document.getElementById("subcat"); 
    subb.disabled=false; 
    subb.length=0; 
    var cat=elem.options[elem.selectedIndex].text; 
    
    if(catogeries[cat]) 
    { 
    
        catarr=catogeries[cat].split('|'); 
        subb.options[0]=new Option('select subcat',' '); 
        for(var i=0; i<catarr.length; i++) 
        { 
        subb.options[i+1]=new Option(catarr[i],catarr[i]); 
        } 
    
    } 
    
    } 
    </script> 
    </head> 
    <body> 
    <select id="cat" onChange="subcat(this,subcat)" style="width:200px;"> 
    <option value="" selected="selected">Select Catogery</option> 
    <option value="">Accessories</option> 
    <option value="">Entertainment/Media</option> 
    <option value="">Automobile</option> 
    <option value="">Books & Magazines</option> 
    <option value="">Business & Career</option> 
    <option value="">Apparel</option> 
    
    
    </select> 
    </br> 
    </br> 
    <select id="subcat" style="width:200px; " disabled="true"> 
    
    </select> 
    </body> 
    </html> 
    

    回答

    0

    這似乎是一個名稱衝突問題。您已經同時命名了JavaScript函數和Select,即subcat。將這些名稱分別命名爲唯一,以便在解析名稱時不會出現歧義。例如

    <html> 
    <head> 
    <title>Catogery list</title> 
    <script type="text/javascript"> 
    var catogeries=new Object(); 
    
    catogeries['Accessories'] = 'Cosmetics/Perfumes|Jewelry|Handbags|Shoes|Watches'; 
    catogeries['Entertainment/Media'] = 'Videos/Movies|Art|Photo|News|Television|Music'; 
    catogeries['Automobile'] = 'Cars| Motorcycles| Tools & Supplies| Accessories'; 
    catogeries['Books & Magazines'] = 'eBooks| Audio Books| Books| Magazines'; 
    catogeries['Business & Career'] = 'Real Estate| Office| Productivity Tools| Employment| B-TO-B| Marketing'; 
    catogeries['Apparel'] = 'Childrens| Mens| Womens'; 
    
    function GetSubCategeries(elem) 
    { 
    
    var catarr; 
    var subb=document.getElementById("subcat"); 
    
    subb.disabled=false; 
    subb.length=0; 
    var cat=elem.options[elem.selectedIndex].text; 
    
    if(catogeries[cat]) 
    { 
    
        catarr=catogeries[cat].split('|'); 
        subb.options[0]=new Option('select subcat',' '); 
        for(var i=0; i<catarr.length; i++) 
        { 
        subb.options[i+1]=new Option(catarr[i],catarr[i]); 
        } 
    
    } 
    
    } 
    </script> 
    </head> 
    <body> 
    <form> 
    <select id="cat" onChange="GetSubCategeries(this,subcat)" style="width:200px;"> 
    <option value="" selected="selected">Select Catogery</option> 
    <option value="">Accessories</option> 
    <option value="">Entertainment/Media</option> 
    <option value="">Automobile</option> 
    <option value="">Books & Magazines</option> 
    <option value="">Business & Career</option> 
    <option value="">Apparel</option> 
    
    
    </select> 
    </br> 
    </br> 
    <select id="subcat" style="width:200px; " disabled="true"> 
    
    </select> 
    </form> 
    </body> 
    </html> 
    

    通知我已經包括在一個表格元件的選擇並改名爲JavaScript函數來GetSubCategories()

    相關問題