2012-04-16 58 views
-1

我想获得一些关于将这个php转换为javascript的建议。你可以用一个开关在javascript中做到这一点?转换为JavaScript?

不知道如何在这种情况下处理数组与javascript。我不能在PHP中使用它,只能使用JavaScript。

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 2012-04-16 02:18:33

回答

1

有从PHP没有直接转化为JavaScript,但当然使用在客户端相同的算法是可能的。

我试图用jQuery重写JavaScript中的第一个案例。 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的做,但你不想刷新页面,我是吗?所以我做了这个小东西给你,是你叫什么“转换为JavaScript”

这里是代码

<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> 

你可以使用文件撰写(“一些文本”),而不是警告如果你想:)但我警觉你得到你想要的更好。你不需要jQuery或任何其他JavaScript框架与我的解决方案。但如果你想要的话,你可以做一些改变,而不是提醒你可以改变一个“p”标签的innerHTML,结果是

+0

谢谢你的帮助。 – 2012-04-25 12:27:29

+0

也可以帮助我将此答案标记为正确答案,我点击“打勾”标志 – 2012-04-26 15:40:31