我尝试更改时,员工姓名字段不会更改

时间:2015-07-04 08:07:35

标签: php jquery

我有一个票务系统。这是我的call_edit.php文件,管理员和员工用户可以编辑和回答门票: DEMO

问题是,当有人向我们发送票证时,票证状态为Open(值= 0),我有一个脚本,您可以在代码中看到它。我第一次将员工从无(值= 0)更改为我的任何员工姓名,它会更改并且确定无误。但是当我想再次更改员工姓名时(例如,在我第一次更改员工姓名后从staff1到staff2),它将不再更改。如果staff1将票证状态更改为Checking(值= 2),则其他任何人都无法更改员工姓名。没有人。我必须再次打开机票并再次更改员工姓名! 这是我的工作人员姓名:

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

这是我的状态:

<tr><td valign="top" style="width: 150px;">Status</td>
<td><select type="hidden"  name='call_status'>
<option value='0'<?php if($site_calls->call_status == 0){echo ' selected';}?>>باز</option>
<option value='2'<?php if($site_calls->call_status == 2){echo ' selected';}?>>در حال بررسی</option>
<option value='1'<?php if($site_calls->call_status == 1){echo ' selected';}?>>بسته</option>
<option value='3'<?php if($site_calls->call_status == 3){echo ' selected';}?>>حذف شده</option>
</select> &nbsp; <a href="call_edit.php?call_id=<?php echo $call_id;?>&action=delete&nacl=<?php echo $nacl;?>" onclick="return confirm('آیا مطمعن هستید میخواهید حذف کنید؟')"><i class="fa fa-times" title="حذف کردن"></i></a>
</td></tr>

这是我的脚本,当人员字段值从0更改为其他任何内容时,自动将状态从Open(value = 0)更改为Checking(value = 2):

<script>
$("[name='call_staff']").change(function(){
if((this.value)!=0)
{
$("[name='call_status']").val(2);
}
else
{
$("[name='call_status']").val(0);
}
}).change();
</script>

1 个答案:

答案 0 :(得分:-1)

您的代码充满了错误,永远无法正常运行。您需要逐行进行一些主要的语法解决,查看代码,检查它的正确语法并修复每一行,有问题。

此外,您需要注意javascript不会与PHP或数据库交互,除非您为javascript更改编写了一些ajax或其他服务器端接收器代码。

但是, 原则上解决你的情况, 您需要重写代码才能使status <> 0仍然可以加载和编辑,目前您可以使用status = 0然后加载和编辑人员行,但是您需要扩展代码以进行编辑价值不仅仅是零。