2012-09-10 25 views
-3

大家好我想要運行多個JavaScripts。我的第一個JavaScript是有改變功能工作正常,但第二個不起作用。那麼,我如何運行多個JavaScript代碼?這裏是我的代碼:如何使用多個JavaScript?

<html> 
     <head> 
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> 
      <script type="text/javascript"> 
       $(document).ready(function() { 
        $('#main').on('change', '.select-box', function() { 

         if ($(".select-box option[value='3']").attr('selected')) { 
          $('#demo').html("<select class='select-box'><option value='4'>a</option><option value='5'>b</option></select>"); 

         } 

         if ($(this).val() == 5) { 
          document.getElementById("demo").innerHTML = "Woo"; 
         } 

        }); 

       }); 
      </script> 
      <script> 
       var x = "", i; 
       for (i = 0;i < 3;i++) { 
        x = x + "<option value='" + i + "'> " + i + "</option>"; 
       } 
       document.getElementById("demo2").innerHTML = "<select>" + x + "</select>"; 
      </script> 
     </head> 
     <body> 
      <div id="main"> 
        <select class="select-box"> 
         <option>Select an option</option> 
         <option value="1">no alert</option> 
         <option value="2">no alert too</option> 
         <option value="3">alert</option> 
        </select> 
        <p> 
         <br/> 
        </p> 
        <div id="demo"></div> 
      </div> 
      <p id="demo2"></p> 
     </body> 
</html> 
+1

ERR:UNDEFINED:''不起作用' – SomeKittens

回答

0

這個腳本:

<script> 

var x="",i; 
for(i=0;i<3;i++) 
{ 
x=x + "<option value='"+i+"'> " + i + "</option>"; 
} 
document.getElementById("demo2").innerHTML="<select>"+x+"</select>"; 
</script> 

試圖獲得元素demo2存在之前。將腳本移動到demo2之後的某個地方,可能就在</body>之前。

,或者,把那最後一部分在ready處理喜歡你的第一個腳本:

<script> 
var x="",i; 
for(i=0;i<3;i++) 
{ 
x=x + "<option value='"+i+"'> " + i + "</option>"; 
} 

$(document).ready(function() { 
    document.getElementById("demo2").innerHTML="<select>"+x+"</select>"; 
}); 
</script> 

這裏就是我會做,順便說一句:

var demo2 = document.getElementById('demo2'); 

for(var i = 0; i < 3; i++) { 
    var item = document.createElement('option'); 
    item.value = i; 
    item.appendChild(document.createTextNode(i.toString())); 
    demo.appendChild(item); 
} 
2

你可以嘗試這樣的事情,如果你想使用jQuery和一些其他的JavaScript庫

<script type="text/javascript" src="other_lib.js"></script> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
    $.noConflict(); 
    jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
    }); 
    // Code that uses other library's $ can follow here. 
</script> 

在你的公司de腳本標記中缺少type =「text/javascript」。所以它看起來像這樣:

<script type="text/javascript"> 

var x="",i; 
for(i=0;i<3;i++) 
{ 
x=x + "<option value='"+i+"'> " + i + "</option>"; 
} 
document.getElementById("demo2").innerHTML="<select>"+x+"</select>"; 
</script> 
相關問題