仅在选中“关闭”下拉列表时更新隐藏字段

时间:2014-01-26 09:56:42

标签: php

我正在更新下拉选项字段。但是当我选择“关闭”选项时,会出现一个包含当前日期的文本框字段。 以下是代码:

<html>
<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

<script>
$(document).ready(function () {
            $('#status').change(function () {
                if (this.value == "Close") {
                    $('#Other').show();
                } else {
                    $('#Other').hide();
                }

            });
        });


</script>
</head>
<body>
<form action="status2.php" method="post">
Status
<select id="status" name="status" value="<?=$row['status']?>">
                        <option>Choose</option>
                        <option value="Open">Open</option>
                        <option value="Inprocess">Inprocess</option>
                        <option value="Close">Close</option>
                    </select>
  <table>
             <tr id="Other" style="display: none">
                <td>
                   <!-- <input id="txtOthers" type="text" /> -->
                   <label>Lead Close Date :&nbsp; <input type="text"  name="lead_close" value="<?php $b = time ();
  print date("d-m-y",$b) ; 
 ?> "  ><br />
  </td>
            </tr>
        </table>

<br/>
<input type="submit" value="Update" name="submit">
</form>
</body>
</html>

以上代码完美无缺。 但是当我更新记录时,甚至隐藏文本框(lead_close)也会更新。它必须仅在选择关闭选项时才更新,只有状态为“打开”或“进程”必须更新。 以下是我的更新代码:

<?php
$konek = mysql_connect("localhost","root","") or die("Cannot connect to server");
mysql_select_db("test",$konek) or die("Cannot connect to the database");

$status= ($_POST['status'])?$_POST['status']:'';

$lead_close= ($_POST['lead_close'])?$_POST['lead_close']:'';

mysql_query("update public set status='".$status."', lead_close='".$lead_close."' where id='1'");
?>

我不知道我错过了哪里。 只需要在我的代码中进行一些修正。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

update语句需要if语句以确保它仅适用于Close选项。

if ($status == 'Close')
    mysql_query("update public set status='".$status."', lead_close='".$lead_close."' where id='1'");