通过计算下拉其他下拉列表中的更改。 Jscript / Ajax?

时间:2013-03-18 06:18:28

标签: php javascript ajax drop-down-menu

我有一个Jscript查询。

我做了一些阅读,发现AJAX只是一个lfash脚本的副服务器,可以在Linux上使用php。 (如果我把错误搞错了,请纠正我)

我不知道脚本是如何工作的,所以这是新的,我尝试过几次尝试,但没有运气。

我有一个下拉框(Box1)(从数据库填充) 我有另一个盒子(Box2)用于计算,以插入我的数据库,以便在网站的其他部分使用。

当有人在点击提交按钮之前更改Box1下拉列表时,我需要Box2来更改数字。

我认为因为我有计算,这让我陷入困境......代码如下......有人可以帮我弄清楚(我想我需要某种形式的脚本才能做到这一点。)答案.. 。

BOX1

<td><p>selection 1</p>
         <select id="t1_type" name="t1_type">

<?php $result = mysql_query("SELECT * FROM `t2` ORDER BY t2_value");
while($valuerow = mysql_fetch_array($result)){
        echo '<option value="'.$valuerow['t2_name'].'">'.$valuerow['t2_name'].'</option>'; } ?>

BOX2

    <input name="t1_value" id="t1_value" value="
    <?php 
      $var1 = $row_value['t2_value']; 
      $var2 = $row_dropdown['t1_number']; 
      $total = round ($var2 *  $var1); 
      echo "" . $total . ""; 
    ?>" />

我希望这是您需要的所有代码,(如果需要,请告诉我)

当有人在单击提交按钮之前更改box1选项时,它需要做的是显示新计算,因此它会将正确的计算提交给数据库以供将来使用。

我认为当“t2_name从box1改变时,它会需要来自box2的”t2_value“。

再一次了解解决方案的最佳链接。 (现在从我的上一个问题了解加入​​!几乎是一个中间用户。;-))

1 个答案:

答案 0 :(得分:0)

修改:

我看到你的第二个盒子是我认为的文本框,如果那就是问题,那么你应该做这样的事情

<select id="t1_type" name="t1_type" onchange="change(this);">
   <?php 
      $result = mysql_query("SELECT * FROM `t2` ORDER BY t2_value");
      while($valuerow = mysql_fetch_array($result))
      {
          echo '<option value="'.$valuerow['t2_name'].'">'.$valuerow['t2_name'].'</option>';
      } 
   ?>
</select> 

这会像您在问题中所做的那样定义<select>框。 将onChange个事件添加到您的第一个<select>,然后创建一个处理onChange事件的函数。只要用户更改<select>元素中的项目,就会触发onChange事件。

Javascript:

(将这部分代码放在</head>

之上
<script language="javascript" type="text/javascript">
    function change(element)
    {
     // do here whatever you want
     // you can change the value of the <input> box with :
     // document.getElementById(element.id).value = your_value
     // If you want to see if this part works, then try adding this :
     // alert("It works!");
     // If you want to get the text of the item which has been selected in Box1 use :
     // $("#t1_type option:selected").text();

    }
</script>

注意:由于PHP是服务器端,因此无法在没有页面刷新的情况下动态更新Box2,但Javascript是客户端,CAN可以执行此操作。

注意:$("#t1_type option:selected").text();代码要求您将jQuery库包含在脚本中。如果你想用它来计算,请务必将此变量转换为float,int或double,否则结果将给出NaN(非数字)

包含jQuery Libary的教程: http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery

如果您是JavaScript的新手,您应该尝试一些教程。 w3Schools.com的那些人给了我很多帮助,但有些人说他们并不总是正确的,但无论如何,阅读一些关于Javascript的东西,实际上知道你在做什么,而不是代码复制:)