2014-11-25 9 views
-1

문제가 있습니다. 2 가지 옵션 목록이 있습니다.클래스 이름을 사용하는 방법은 무엇입니까?

한 목록의 모든 옵션의 이름은 M이고 다른 옵션의 이름은 R입니다. 두 옵션 모두에서 'A'와 'C'와 같은 특정 옵션을 선택해야합니다. 'X'옵션에 'X'보너스를 추가하고 'Y'옵션에 'Y'보너스 ('B')를 추가해야합니다.

보너스 내가 그 옵션을 선택하고 보너스를 추가하려면 어떻게 백분율

그래서 문제의 형태인가? 할 수 있습니까? 클래스 이름으로 해결할 수 있다고 들었지만 어떻게해야합니까?

  <form action=""> 
 
    <fieldset> 
 
<head> 
 
<script type="text/javascript"> 
 
function myFunction() { 
 

 
    /*Left flank bonus*/ 
 
    var MLef1 = document.getElementById("MeleeL").value; 
 
    var RLef1 = document.getElementById("RangedL").value; 
 
    var ML = MLef1 - 0; 
 
    var RL = RLef1 - 0; 
 

 

 
    
 
    
 
    /*Melee total*/ 
 
    var MT1 = ML; 
 
    var MT2 = MT1/100; 
 
    var MT = MT2 - 0; 
 
    
 
    /*Ranged total*/ 
 
    var RT1 = RL; 
 
    var RT2 = RT1/100; 
 
    var RT = RT2 - 0; 
 
    
 
    
 
    /*Left flank normal*/ 
 
/*Left flank melee*/ 
 
    var x = document.getElementById("Melee").selectedIndex; 
 
    var y = (document.getElementsByTagName("option")[x].value); 
 
    var xy = document.getElementById("LM1").value; 
 
    
 
    
 

 
/*Left flank Ranged*/ 
 
var p = document.getElementById("Ranged").selectedIndex; 
 
    var o = (document.getElementsByName("LR")[p].value); 
 
    var i = document.getElementById("LM1").value; 
 

 
/*Ranged*/ 
 
    var c1 = o * i; 
 
    var c = c1 - 0; 
 
    var RTZ = RT * c; 
 
    var RTz = RTZ - 0; 
 
    
 
    /*Melee*/ 
 
    var z2 = y * xy; 
 
    var z = z2 - 0; 
 
    var MTZ = MT * z; 
 
    var MTz = MTZ - 0; 
 

 

 

 
    /*Zero function*/ 
 

 
    if (MT <= 0) { 
 
     (document.getElementById("result").innerHTML = z); 
 
    } 
 
    else if (MT > 0) { 
 
     (document.getElementById("result").innerHTML = MTz); 
 
    
 
    } 
 
    if (RT <= 0) { 
 
     (document.getElementById("result1").innerHTML = c); 
 
    } 
 
    else if (RT > 0) { 
 
     (document.getElementById("result1").innerHTML = RTz); 
 

 
    
 
    
 
    } 
 
    
 
    
 
    
 
} 
 
</script> 
 

 
     <legend align="center" id="Defense">Defense</legend> 
 
     
 
     <table> 
 
      <tr> 
 
       <th>Left Flank</th> 
 
       <th> 
 
        <th> 
 
         <th>Center Flank</th> 
 
         <th>Right Flank</th> 
 
      </tr> 
 
      <tr> 
 
       <td> 
 
        <label>X Bonus</label> 
 
        <br> 
 
        <label>Y bonus</label> 
 
        <br> 
 
    
 
       </td> 
 
       <td> 
 
        <input type="number" id="MeleeL">% 
 
        <br> 
 
        <input type="number" id="RangedL">% 
 
        <br> 
 
        
 
      </tr> 
 
     </table> 
 

 
     <select id="Melee"> 
 
      <option value="11">A</option> 
 
      <option value="9">B</option> 
 
      <option value="6">C</option> 
 

 
     </select> 
 
     <input type="number" style="width:50px" id="LM1"> 
 
<select id="Ranged"> 
 
      <option name="LR" value="17">A</option> 
 
      <option name="LR" value="4">B</option> 
 
      <option name="LR" value="36">C</option> 
 

 
     </select><br> 
 

 
     
 

 
     <button type="button" id="buton" onclick="myFunction()">Calculate</button><br> 
 
<p id="result">The Melee, </p><p id="result1">The R, </p> 
 

 
    </fieldset> 
 
</form>

양이 변화하고, 입력 창을 통해 inputed한다. 다시 말하지만, 사용자가 목록에있는 옵션 중 일부는 아니지만 모두에 가변 보너스를 추가 할 수 있어야합니다.

모든 도움에 감사드립니다!

+3

당신이 무엇을 요구하고 있는지 명확하지 않습니다. 예측 된 출력과 입력 예를 보여줄 수 있습니다. –

+1

귀하의 텍스트는 귀하의 HTML이 보여주는 것 이상의 것을 나타냅니다. 귀하의 질문에 관련된 모든 정보를 포함하도록 게시물을 편집 한 다음 실제로 귀하의 질문을 포함시키고 일치시킬 제목이 있는지 확인하십시오. 지금 당신의 제목은 당신이 말하는 것과 전혀 관련이없는 것처럼 보입니다. –

+2

지금까지 시도한 것은 무엇입니까? 이 게시물은 Javascript 태그가 붙어 있지만 코드는 없습니다. –

답변

0

시범 사용, 오류 및 몇 시간 동안 코딩 매뉴얼을 읽음으로써이를 발견했습니다. 나는 지금 "data-name1"을 사용하고있다. 그것은 많은 도움이됩니다. 불분명 한 것에 대해 유감 모든 도움

<script> 
 
    document.getElementById("selectElement").selectedIndex = -1; // so that no option //is selected when the page is loaded 
 
    // Good!!! 
 
    
 
    function getData(){ 
 
     var e = document.getElementById("qwert"); // get the <select> element 
 
    // Understood 
 
    
 
     var data_name1 = e.options[e.selectedIndex].dataset.name1; // get the selected //<option> and its name1 data attribute 
 
    
 
     
 
    
 
    // var data_name2 = e.options[e.selectedIndex].dataset.name2; get the selected //<option> and its name2 data attribute 
 
    
 
     
 
    
 
     var value = e.options[e.selectedIndex].value; // get the value of the selected <option> 
 
    
 
    
 
    //Result 
 
    document.getElementById("data1").innerHTML = data_name1; 
 
     document.getElementById("value").innerHTML = value; 
 
    } 
 
    </script> 
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
    <select id="qwert" onclick="getData()"> 
 
    <option value="135" data-name1="M">Halberdier</option> 
 
       <option value="150" data-name1="R">Lancer</option> 
 
       <option value="51" data-name1="R">Longbowman</option> 
 
       <option value="27" data-name1="M">Militia</option> 
 
    </select> 
 
    
 
    <p> 
 
     <label>data-name1 = </label> 
 
     <span>"</span><span id="data1"></span><span>"</span> 
 
    </p> 
 
    
 
    
 
    
 
    <p> 
 
     <label>value = </label> 
 
     <span>"</span><span id="value"></span><span>"</span> 
 
    </p>

감사합니다. 모두 최고