我正在尝试创建一个包含4列项目,数量,成本和金额的html表单......所有这些都在一个php文件中。
item列是一个select标签,它从mysql表中收集数据,工作正常
现在,根据item1的值,费用必须显示在费用文字标记中。
以下是我的代码:
</tr>
<tr> <td align="left">
<?php
$user_name = "won";
$password = "won@123";
$database = "won";
$server = "127.0.0.1";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
if ($db_found) {
$result = mysql_query("SELECT item FROM test ");
echo "<select>";
echo "<option value=''>Select Item</option>";
while($row = mysql_fetch_array($result))
{
echo "<option value='item1' id='item1' name='item1'>" .$row['item']. "</option>";
}
echo "</select>";
}
mysql_close($db_handle);
?>
</td>
<td align="left"><input type="text" id="qty1" name="qty1"> </td>
<td align="left"><input type = "text" onclick = "myFunction1()" id="row['cost']" > </td>
<td align="left"><input type="text" id="amount1" name="amount1" value=0> </td>
</tr>
*************************************************************************
The following is the function :
function myFunction1()
{
<?php
$user_name = "won";
$password = "won@123";
$database = "won";
$server = "127.0.0.1";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
if ($db_found) {
$result = mysql_query("SELECT cost FROM test where item='$item1' ");
$row = mysql_fetch_array($result);
}
mysql_close($db_handle);
?>
}
答案 0 :(得分:0)
你不能点击php事件,php是SERVER SIDE,如果要显示异步,你需要javascript
答案 1 :(得分:0)
你想要什么并不是很清楚。
但据我了解你应该使用Ajax。
首先准备你的项目选择标记在你的代码中。
然后处理select标签的更改事件并将该值传递给ajax调用以查找该项目的成本,并将该结果存储在ajax成功的成本标记中。
当你准备好你的函数时,myfuncton会在另一个php文件中使用它,并从ajax调用该文件。
您可以编写的代码如下:<script src="jquery-1.7.1.min.js"></script>
<script>
$(document).ready(function(){
$( "#item1" ).change(function() {
var item = $("#item1 option:selected").text();
$.ajax({
url: 'getcost.php',
type: "POST",
data: {
'item' : item,
},
success : function(response) {
$('#cost').val(response);
},
error : function() {
},
complete : function() {
}
});
});
});
</script>
当前代码中的为您的select标记提供id:
<select id="item1">
在getcost.php文件中编写myfunction()代码:
只需编辑该代码。在查询之前添加。
$ item1 = $ _POST ['item'];
之后
$row = mysql_fetch_array($result);
echo $row['cost'];
写到最后
exit;
并在您的输入标记中将费用ID更改为费用&amp;删除onclick。
这可能会对你有所帮助。我刚才在这里写我没有测试过,所以可能存在一些与法术或变量相关的错误。