0

我来到了一个地方,我猜,我被卡住了。

逻辑是设置:

  1. 频率
  2. 首次扫描日期

使用以下代码完成:

<script>
  $(function() 
    {
     $('.datepicker').datepicker({ 
        dateFormat: 'yy-mm-dd',
        onSelect: function(dateText, inst) {
                var days = $("#scan_freq").val() * 7;
                var newDate = addDaysDate(dateText, days)
                $("#next_scan_date").val(newDate);
        }
    });
    }); 
</script>

<script>
function addDaysDate(dateText, days) {
    var curDate = new Date(Date.parse(dateText));
    var nextDate = new Date();
    nextDate.setDate(curDate.getDate() + days);
    var curDay = nextDate.getDate();
    var curMonth = nextDate.getMonth() + 1;
    var curYear = nextDate.getFullYear();
    return curYear + "-" + curMonth + "-" + curDay;
}
</script>

我遇到的问题:

  1. 当我为列表中的第二个元素(如 HP-UX)设置频率和第一次扫描日期时,它会更改我的 AIX 下一次扫描日期。与从表中获取的其余元素相同。就像我会为 Linux 进行更改一样,它将为我设置 AIX 的下一个扫描日期。

  2. 我需要为保存按钮添加功能,当我点击保存按钮时,它将针对操作系统进行迭代并将其存储在 mysql 中。与中间件和他们的保存按钮相同。

有谁能帮忙吗?非常赞赏!

4

1 回答 1

1

我第一次回答问题,所以考虑到这一点;)

编辑以使示例更清晰

如果我没看错,看起来输出表的循环为所有字段提供了相同的 id

<?php
$hc = mysql_query("SELECT * FROM platforms WHERE id_acc_ref='1' AND platform_type='os' ORDER BY platform_name ASC");
while($row = mysql_fetch_array($hc))
  {
  echo "<tr>";
  /* snipped */
  echo "<td><input id='first_scan_date' type='text' class='datepicker' value='".$row['first_scan_date']."' placeholder='0000-00-00' /></td>";
  /* snipped */
  echo "</tr>";
  }
?>

会产生这样的HTML

  <tr>
  <td><input id='first_scan_date' type='text' class='datepicker' value='THE 1st DB VALUE HERE' placeholder='0000-00-00' /></td>";
  </tr>   
  <tr>
  <td><input id='first_scan_date' type='text' class='datepicker' value='THE 2nd DB VALUE HERE' placeholder='0000-00-00' /></td>";
  </tr>   
  <tr>
  <td><input id='first_scan_date' type='text' class='datepicker' value='THE 3rd DB VALUE HERE' placeholder='0000-00-00' /></td>";
  </tr>   

注意每个输入字段如何具有相同的 id,id 在页面上应该是唯一的

根据给定的信息,我会说 datepicker 插件在内部使用字段的 id,因此它使用第一次出现的 id 名称设置字段的值;你排除了这个吗?我会给每个字段一个唯一的 id,它可能会解决 datepicker 问题,编辑如果你发布代码,我会知道更多,或者链接到你用于 datepicker 的库

使用保存按钮功能,您是否可以只使用表单并将其提交给 php 处理脚本。我倾向于使用数组语法给出字段名称,例如:

<input type='text' name='scan_freq[]' value='...' /> 

然后它将通过您的 _POST 作为数组

这有帮助吗?

- 更多细节

修正循环 - 添加唯一 ID 的一种方法

<?php
$hc = mysql_query("SELECT * FROM platforms WHERE id_acc_ref='1' AND platform_type='os' ORDER BY platform_name ASC");

$counter = 0;
while($row = mysql_fetch_array($hc))
  {
  echo "<tr>";
  /* snipped */
  echo "<td><input id='first_scan_date_".$counter ."' type='text' class='datepicker' value='".$row['first_scan_date']."' placeholder='0000-00-00' /></td>";
  /* snipped */
  echo "</tr>";
  $counter++;
  }
?>

如果这没有帮助,那么发布生成源的http://jsfiddle.net/(例如右键单击并在浏览器中查看源)将是前进的方式

于 2012-12-08T12:07:51.027 回答