2012-04-16 5 views
-1

나는이 PHP를 자바 스크립트로 변환하는 것에 대한 제안을하고 싶다. 스위치로 자바 스크립트에서 이것을 할 수 있습니까?php 스위치를 javascript로 변환 하시겠습니까?

자바 스크립트로이 상황에서 배열을 처리하는 방법을 잘 모르겠습니다. 나는 PHP와 자바 스크립트에서만 사용할 수 없다.

if(isset($_POST['process'])){ 
$sch = $_POST['sch']; 
$inches = $_POST['inches']; 

switch($sch){ 

     case "40": 
      $inch = array("1.5"=>1.610,"2.0"=>2.063,"2.5"=>2.469); 
       foreach($inch as $k =>$v){ 
        if($inches == $k){ 
         echo "Result =" . $v; 
        } 
       } 
     break;    
     case "60": 
      $inch = array("2.0"=>2.063); 
       foreach($inch as $k =>$v){ 
        echo $v; 
       } 
     break; 
     case "80": 
      $inch = array("2.5"=>2.469); 
       foreach($inch as $k =>$v){ 
        echo $v; 
       } 
     break; 



    } 
} 
?> 
<form action="" method="post"> 
<select name="inches" id="inches"> 
    <option value="1.5">1.500</option> 
    <option value="2.0">2.000</option> 
    <option value="2.5">2.500</option> 
    <option value="3.0">3.000</option> 
</select> 
<select name="sch" id="sch"> 
    <option value="40">sch 40</option> 
    <option value="60">sch 60</option> 
    <option value="80">sch 80</option> 
    <option value="100">sch 100</option> 
</select> 
<input name="process" type="submit" value="Submit" id="process" /> 
</form> 
+1

전에 PHP 코드에서 Javascript 코드로 변환하는 것에 대해 들어 본 적이 없습니다. – Lion

답변

1

물론 클라이언트 측에서 동일한 알고리즘을 가능합니다 사용하지만, 자바 스크립트로 PHP로 직접 변환은 없습니다.

jquery로 자바 스크립트의 첫 번째 사례를 다시 작성하려고했습니다. Look here!

저는 메트릭 사용자이고이 코드의 기능과 sch의 의미를 이해할 수 없습니다. 변환을 시도하는 경우 배열을 사용하는 대신 수학적으로 변환하는 것이 좋습니다.

0
var sch = '', // here assign value for sch 
inches = ''; // here assign value for inches 
switch (sch) { 
case "40": 
    inch = { 
     "1.5": 1.610, 
     "2.0": 2.063, 
     "2.5": 2.469 
    }; 
    $.each(inch, 
    function(key, val) { 
     if (inches == val) { 
      console.log("Result =" + $v); 
     } 
    }); 
    break; 
case "60": 
    inch = { 
     "2.0": 2.063 
    }; 
    $.each(inch, 
    function(key, val) { 
     console.log("Result =" + $v); 
    }); 
    break; 
case "80": 
    inch = { 
     "2.5": 2.469 
    }; 
    $.each(inch, 
    function(key, val) { 
     console.log("Result =" + $v); 
    }); 
    break; 
} 
-1

당신이하고 싶은 것을 바로 추측하면 쉽습니다. 나는 PHP가하는 것과 똑같은 일을하고 싶다고 생각하지만, 페이지를 새로 고치고 싶지는 않습니까? 그래서 내가 당신을 위해 작은 일을했고, 당신은 코드를 여기

"자바 스크립트로 변환"주시길 정확히 무엇

<html> 
<body> 

<script type="text/javascript"> 

function check() { 

var inchesval=document.getElementById('inches').value; 
var schval=document.getElementById('sch').value; 


switch (schval){ 

    case "40": 
     var inch={"1.5":1.610,"2.0":2.063,"2.5":2.469}; 
     var x; 

     for (x in inch) 
       { 
       if (inchesval==x) { 
            alert("Result = " + inch[x]); 
            }     

       } 

    break; 


    case "60": 
     var inch={"2.0":2.063}; 
     var x; 

     for (x in inch) 
       { 
       alert("Result = " + inch[x]); 
       } 
    break; 


    case "80": 
     var inch={"2.5":2.469}; 
     var x; 

     for (x in inch) 
       { 
       alert("Result = " + inch[x]); 
       } 
    break; 


default: 
    //dont change this line 
} 



} 

</script> 


<form action="" method="post"> 
<select name="inches" id="inches"> 
    <option value="1.5">1.500</option> 
    <option value="2.0">2.000</option> 
    <option value="2.5">2.500</option> 
    <option value="3.0">3.000</option> 
</select> 
<select name="sch" id="sch"> 
    <option value="40">sch 40</option> 
    <option value="60">sch 60</option> 
    <option value="80">sch 80</option> 
    <option value="100">sch 100</option> 
</select> 
<input name="process" type="button" onclick="check()" value="update" id="process" /> 
</form> 

</body> 
</html> 

대신 경고의 document.write를 ('텍스트')를 사용할 수 있습니다 당신이 원한다면 :) 그러나 나는 당신이 원하는 것을 얻는 것을 경고합니다. 당신은 내 솔루션 jquery 또는 다른 자바 스크립트 프레임 워크가 필요하지 않습니다. 그러나 당신이 원하는 경우 약간의 변경을 할 수 있고 경고 대신에 "p"태그의 innerHTML을 결과와 함께 바꿀 수 있습니다.

+0

감사합니다. 도움이됩니다. –

+0

정답으로이 답변을 표시하는 데 도움이되는 것은 "틱"기호를 클릭하는 것입니다. –

관련 문제