2014-03-07 40 views
-5

你好,我還有問題。我建立js,您可以按以下順序添加數字 - > 50-20,並且在選擇中您從20,21,22,23,24,25 ...直到50開始獲得數字。當你把50-20的結果放在選擇中時,我想改變代碼的順序,應該從50開始,從50,49,48,...直到20。如何更改數字的順序?

這是我在JSFIDDLE上的代碼。這個問題可能很愚蠢,但現在我很困惑:X。

HTML 


<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <title>jQuery</title> 
    <link rel="stylesheet" type="text/css" href="css/style.css"/> 
    <link rel="stylesheet" type="text/css" href="css/alertify.core.css"/> 
    <link rel="stylesheet" type="text/css" href="css/alertify.default.css"/> 
    <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text /css'> 


</head> 
<body> 
    <div class="wrapper"> 
     <h1>Enter values</h1> 

     <p class="example">number - number</p> 

     <input type="text" name="field" id="keys" class="button"/> 

     <a href="javascript:void(0);" id="calculate" class="press">Push!</a> 

     <div id="select_result"> 
      <!-- Generate Dynamic Select! --> 
     </div> 

    </div><!-- End wrapper div --> 

    <script src="js/jquery-1.11.0.js"></script> 
    <script src="js/task.js"></script> 
    <script src="js/alertify.min.js"></script> 
</body> 
</html> 








JS 


    $(document).ready(function() { 

      function calculateResult(){ 

       var value_1 = parseInt($("#keys").val().split("-")[0]); 
       var value_2 = parseInt($("#keys").val().split("-")[1]); 

       if($("#keys").val().indexOf("-") == "-1"){ 
        // alert dialog 
        alertify.alert("Въведи две цифри с тире!"); 

        return; 
       } else if (typeof value_1 == 'undefined' || typeof value_2 == 'undefined' || value_1 == "" || value_2 == "" || isNaN(value_1) || isNaN(value_2)) { 
        // error notification 
        // shorthand for alertify.log("Notification", "error"); 
        alertify.error("Въведи две цифри!"); 

        return; 

       } 


       var select_string = ""; 
       select_string = "<select>"; 
       if (value_1 > value_2){ 
        for(i = value_2; i <= value_1; i++){ 
         select_string += "<option>" + i + "</option>"; 
        } 

       } else if (value_1 < value_2){ 
        for(i = value_1; i >= value_2; i++){ 
         select_string += "<option>" + i + "</option>"; 
        } 
       } else if (value_1 == value_2){ 
        select_string += "<option>" + value_1 + "</option>"; 
       } 
       select_string += "</select>"; 

       $("#select_result").html(select_string); 

      } 


      $("#calculate").on("click", function(){ 
       calculateResult(); 

      }); 
      $(document).on("keypress", function (e) { 
       if(e.which == 13) { 
        calculateResult(e); 

       } 
      }); 
     }); 

感謝

+0

添加[相關]代碼到你的問題。不要只是鏈接到小提琴。這就是爲什麼如果你試圖包含沒有代碼的鏈接,SO會給你一個警告!而且,你所問的確實不清楚。 –

+2

難道這不僅僅是在循環中減1而不是加1? – Pointy

+2

我添加了限定符「相關」的原因。不要只是轉儲代碼。 –

回答

1

試試這個:

for(i = value_1; i >= value_2; i--){ 
     select_string += "<option>" + i + "</option>"; 
     console.log(select_string); 
} 

DEMO