通过更改另一行值自动更改php表单行值

通过更改另一行值自动更改php表单行值,php,mysql,Php,Mysql,我有一个票务支持系统,在call\u edit.php文件中有一些行。我有两行名为staff和status。当有人向我们发送票证时,票证状态默认为open,职员行为空(在我的代码中为0)。我希望在将staff值从空(代码中为0)更改为名称(kitty、John或else)时,状态会自动从open更改为Checking 这是我的一些php表单: <tr><td valign="top" style="width: 150px;">Status</td> <

我有一个票务支持系统,在
call\u edit.php
文件中有一些行。我有两行名为
staff
status
。当有人向我们发送票证时,票证状态默认为
open
,职员行为空(在我的代码中为0)。我希望在将staff值从空(代码中为0)更改为名称(kitty、John或else)时,状态会自动从
open
更改为
Checking

这是我的一些php表单:

<tr><td valign="top" style="width: 150px;">Status</td>
<td><select name='call_status'>
<option value='0'<?php if($site_calls->call_status == 0){echo ' selected';}?>>Open</option>
<option value='2'<?php if($site_calls->call_status == 2){echo ' selected';}?>>Checking</option>
    <option value='1'<?php if($site_calls->call_status == 1){echo ' selected';}?>>Closed</option>
    <option value='3'<?php if($site_calls->call_status == 3){echo ' selected';}?>>Deleted</option>
    </select> 
    </td></tr>

<tr><td>Staff</td><td><select name='call_staff'>
<option value="0"></option>
<?php $staff_name = $db->get_results("select user_id,user_name from site_users where user_level<>1 order by user_name;");
foreach ($staff_name as $staff )
{?>
<option value='<?php echo $staff->user_id;?>'<?php if($staff->user_id == $call_staff){echo ' selected';}?>><?php echo $staff->user_name;?></option>
<?php } ?>
</select></td></tr>
状态
>打开
>检查
>封闭的
>删除
工作人员
>

您可以使用JQuery。在所有员工上添加一个类:

<option class='staff'>
我还没有尝试过这段代码,我想它还不完整,因为当你删除这个名字时,你必须把选项恢复到原来的值。这是为了帮助你开始

别忘了包括jQuery脚本

为此使用jQuery。
这是你的密码

<select name='call_staff'>
<option value="0"></option>
<?php $staff_name = $db->get_results("select user_id,user_name from site_users where user_level<>1 order by user_name;");
foreach ($staff_name as $staff )
{?>
<option value='<?php echo $staff->user_id;?>'<?php if($staff->user_id == $call_staff){echo ' selected';}?>><?php echo $staff->user_name;?></option>
<?php } ?>
</select>

我想你想要的是Javascript,不是PHP。你考虑过Javascript吗?是的,我想我需要JS。如果你能创建一个新的脚本,对我们来说,这将是有益的,因为PHP只会掩盖我们的问题。另外,尝试自己解决问题,并向我们展示您的尝试。祝你好运我想当staff值为0时,状态变为Open(Open value=0),有什么帮助吗?好的,还有一个问题。当我想用职员姓名(值不是0)关闭票据(值=1)时,状态再次变为Cheking(值=2)!我的意思是,我不能用员工姓名将状态值从“检查”更改为“关闭”。票证实际上已关闭,但在call_编辑页面中,call_状态值仍处于检查状态,直到我没有按下更新按钮。在这里,我只做了您在问题中指定的事情。:)
$( ".staff" ).change(function() {
   $("#optOpen").val(0);
   $("#optChecking").val(1);
});
<select name='call_staff'>
<option value="0"></option>
<?php $staff_name = $db->get_results("select user_id,user_name from site_users where user_level<>1 order by user_name;");
foreach ($staff_name as $staff )
{?>
<option value='<?php echo $staff->user_id;?>'<?php if($staff->user_id == $call_staff){echo ' selected';}?>><?php echo $staff->user_name;?></option>
<?php } ?>
</select>
$("[name='call_staff']").change(function(){
if((this.value)!=0)
{
    $("[name='call_status']").val(2);
}
else
{
    $("[name='call_status']").val(0);
}
}).change();