2014-09-15 2 views
0

드롭 다운 메뉴에서 요소를 선택할 때 미리 정의 된 배열의 요소와 함께 제공된 공백을 채울 함수를 작성하려고합니다. 여기에있는 코드는 Firefox에서만 작동하지만 다른 브라우저 (IE 또는 Chrome에서는 테스트되지 않음)에서 작동하지 않습니다. 무엇이 잘못 됐는지를 모릅니다. 나는 그것이 안정적으로 모든 브라우저에서 option 요소를 발사 생각하지 않는다 -일부 브라우저에서 선택 메뉴에 대한 자바 스크립트 기능이 작동하지 않습니다.

<!DOCTYPE html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <link rel="stylesheet" type="text/css" href="zadatak2.css"/> 

     <script type="text/javascript"> 
      var milos=["Milos","Teodosić","Olimpijakos","1987","196cm","20.6","6","8","plejmejker"]; 
      var nenad=["Nenad","Krstić","Oklahoma","1983","212cm","20.4","13.5","8","centar"]; 
      var marko=["Marko","Kešelj","Olimpijakos","1988","207cm","11.1","3","1","krilo"]; 

      function set(a) { 
       for (i=0, o=1; i<8; i++, o++) { 
        document.getElementById('b'+o).value=a[i]; 
       } 

       document.getElementById('plejmejker').checked = false; 
       document.getElementById('centar').checked = false; 
       document.getElementById('bek').checked = false; 
       document.getElementById('krilo').checked = false; 
       document.getElementById(a[8]).checked = true; 
      } 
     </script>  

     <title>Zadatak</title> 
    </head> 
    <body> 
     <div id="titles"> 
      <img class="logo" src="slike\kss_logo.png"/> 
      <h1>Košarkaška reprezentacija Srbije</h1> 
     </div> 
     <div id="side"> 
      <h3>Reprezentacije</h3> 
      <ul> 
       <li> 
        Grupa A 
        <ul> 
         <li>Srbija</li> 
         <li>Argentina</li> 
        </ul> 
       </li> 
       <li> 
        Grupa B 
        <ul> 
         <li>SAD</li> 
         <li>Slovenija</li> 
        </ul> 
       </li> 
       <li> 
        Grupa C 
        <ul> 
         <li>Turska</li> 
         <li>Grčka</li> 
        </ul> 
       </li> 
       <li> 
        Grupa D 
        <ul> 
         <li>Litvanija</li> 
         <li>Španija</li> 
         <li>Francuska</li> 
        </ul> 
       </li> 
      </ul> 

      <img class="logo" src="slike\bbcup_logo.jpg"/> 
     </div> 

     <div id="main"> 
      <form action="#" method="post"> 
       <div class="kosarkas"> 
        <label>Odaberite košarkaša: </label> 
        <select id="player"> 
         <option value="milos" onmousedown="set(milos)">Miloš Teodosić</option> 
         <option value="nenad" onmousedown="set(nenad)">Nenad Krstić</option> 
         <option value="marko" onmousedown="set(marko)">Marko Kešelj</option> 
        </select> 
        <h2>Podaci o košarkašu:</h2> 
       </div> 

       <div id="formleft"> 
        <label class="label">Ime:</label> 
        <input type="text" id="b1"/><br /> 

        <label class="label">Rođen:</label> 
        <input type="text" id="b4"/><br /> 

        <label class="label">Visina:</label> 
        <input type="text" id="b5"/><br /> 

        <label class="label">Skokova:</label> 
        <input type="text" id="b7"/><br /> 
       </div> 

       <div id="formright"> 
        <label class="label">Prezime:</label> 
        <input type="text" id="b2"/><br /> 

        <label class="label">Klub:</label> 
        <input type="text" id="b3"/><br /> 

        <label class="label" style="margin-top:-5%">pozicija:</label> 
        <div id="dropdown"> 
         <input type="radio" id="plejmejker"/>plejmejker<br /> 
         <input type="radio" id="bek"/>bek<br /> 
         <input type="radio" id="krilo"/>krilo<br /> 
         <input type="radio" id="centar"/>centar<br/> 
        </div> 

        <label class="label">Asistencija:</label> 
        <input type="text" id="b8"/><br /> 
       </div> 

       <div class="kosarkas"> 
        <label class="label">Prosek poena: </label> 
        <input type="text" id="b6"/><br /> 
       </div> 
      </form> 
      <p id="footer">Svjetsko prvenstvo u košarci, septembar 2014</p> 
     </div> 
    </body> 
</html> 

답변

1

나는 문제가 onmousedown 이벤트라고 생각합니다.

은 현재에 전달 될 객체를 기대이기 때문에 또한, 약간 set 기능을 변경해야합니다
<select id="player" onchange="set(this.options[this.selectedIndex].value)"> 
    <option value="milos">Miloš Teodosić</option> 
    <option value="nenad">Nenad Krstić</option> 
    <option value="marko">Marko Kešelj</option> 
</select> 

이 아닌 문자열 값 :

function set(player) { 
    var a; 
    switch(player) { 
     case 'milos': 
      a = milos; 
      break; 
     case 'nenad': 
      a = nenad; 
      break; 
     case 'marko': 
      a = marko; 
      break; 
    } 
    for (i=0, o=1; i<8; i++, o++) { 
     document.getElementById('b'+o).value=a[i]; 
    } 

    document.getElementById('plejmejker').checked = false; 
    document.getElementById('centar').checked = false; 
    document.getElementById('bek').checked = false; 
    document.getElementById('krilo').checked = false; 
    document.getElementById(a[8]).checked = true; 
} 
당신의 select에 변화 시도
관련 문제