我有一个Jscript查询。
我已经做了一些阅读,发现AJAX只是一个可以在Linux上使用php的lflash脚本的端服务器。(如果我解释错了,请纠正我)
我不知道脚本是如何工作的,所以这是新的,我尝试了几个不同的尝试,但没有运气。
我有一个下拉框(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"也需要改变。
又是了解解决方案的最佳链接。(现在从我的上一个问题中了解了join !!几乎是一个中间用户。; -))
Edit:
我看到你的第二个框是一个文本框,我相信,如果这是问题,那么你应该这样做
<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事件。
(将这部分代码置于</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是客户端,可以做到这一点。
注意:$("#t1_type option:selected").text();
代码要求您在脚本中包含jQuery库。如果要用它进行计算,请确保将该变量转换为float, int或double,否则结果将给出NaN (Not a Number)
如果你是JavaScript新手,你应该尝试一些教程。w3Schools.com上的那些对我帮助很大,但有些人说它们并不总是正确的,但无论如何,阅读一些关于Javascript的东西来实际了解你在做什么,而不是复制代码:)