2017-08-09 71 views
0

那么我已经生成按钮。他们的功能是相同的,当我点击它时,它会进行计算。问题是当我点击第二个生成按钮时,它将执行第一个的计算,并且第三个按钮的计算也是如此。我想要的是,每个生成按钮只会为自己的工作做计算。谁能帮我 ?如何让这些按钮以不同的方式运行?

my generate button

并且在下面的代码:

<tr> 
    <td></td> 
    <td></td> 
    <td style="font-family:centruy-gothic"<strong><font color = "black"> 
    <?echo $listb['task_name'];?> 
    <input type="hidden" name="pc_id[]" value="<? echo $pc_id;?>" > 
    <input type="hidden" name="ps_id[]" value="<? echo $ps_id;?>" > 
    </font></strong></td> 
    <td align="center" style="font-family:century gothic"><input type="text" id ="task_mark" class="input-medium" name="task_mark[]" value="<? echo $listb['task_mark'];?>" onchange="getDate()"/></td> 
    <td align="center" style="font-family:century gothic"><input type="text" id="marking" class="input-medium" name="marking[]" value="<? echo $listb['marking'];?>"onchange="getDate()"/></td> 
    <td align="center" style="font-family:century gothic"><input type="text" id="destination_marking" class="input-medium" name="destination_marking[]" value="<? echo $listb['destination_marking'];?>"onchange="getDate()"/></td> 
    <td align="center" style="font-family:century gothic"><input type="text" id="days" class="input-medium" name="days[]" value="<? echo $listb['days'];?>"onchange="getDate()"/></td> 
    <td align="center" style="font-family:century gothic"><input type="text" id="duration" class="input-medium" name="duration[]" value="<? echo $listb['duration'];?>" onchange="calc()"/></td> 
    <td align="center" style="font-family:century gothic"><input type="text" id="start_date" class="input-long" name="start_date[]" value="<? echo $listb['start_date'];?>" class="date demo" onchange="getDate()" ></td> 
    <td align="center" style="font-family:century gothic"><input type="text" id="end_date" class="input-long" name="end_date[]" value="<? echo $listb['end_date'];?>" class="date demo" onchange="getDate()"></td> 
    <td align="center" ><input class="submit-green" id="end_date" type="button" name="end_date[]" value="GENERATE" onclick="getDate()"></td> 

    </tr> 

而这里的脚本

<script> 
     function getDate() 

    { 

     var sd = document.getElementById('start_date').value; 
     var dura = document.getElementById('duration').value; 
     var m = document.getElementById('marking').value; 

     var date = new Date(sd); 
     var newdate = new Date (date); 
     var durations = parseInt(dura); 
     var markings = parseInt(m); 

     if (markings === 1) 
     { 
      newdate.setDate(newdate.getDate()); 
     } 
     else if (markings === 2) 
     { 
      newdate.setDate(newdate.getDate() + durations); 
     } 
     else if (markings === 3) 
     { 
      newdate.setDate((newdate.getDate() + durations) + 1); 
     } 

     var dd = newdate.getDate(); 
     var mm = newdate.getMonth()+1; 
     var y = newdate.getFullYear(); 

     var someFormattedDate = y + '-' + mm +'-' + dd; 
     document.getElementById('end_date').value = someFormattedDate; 

    } 

    </script> 
+0

好,尽量给工作[的jsfiddle(https://jsfiddle.net/)例如。这样我们可以看到你的脚本的大小,你可以回答。 –

+0

这不是一个mysql相关的问题,也许有人可以删除mysql标签? – Learning

+0

对不起,这是MySQL相关..因为我得到的数据是从MySQL ..你还需要我的MySQL代码呢? –

回答

1

您可以在HTML代码修改onchange="getDate()"这样给出一个参数:

<td align="center" style="font-family:century gothic"><input type="text" id ="task_mark" class="input-medium" name="task_mark[]" value="<? echo $listb['task_mark'];?>" onchange="getDate(1)"/></td> 
<td align="center" style="font-family:century gothic"><input type="text" id="marking" class="input-medium" name="marking[]" value="<? echo $listb['marking'];?>"onchange="getDate(2)"/></td> 
<td align="center" style="font-family:century gothic"><input type="text" id="destination_marking" class="input-medium" name="destination_marking[]" value="<? echo $listb['destination_marking'];?>"onchange="getDate(3)"/></td> 
<td align="center" style="font-family:century gothic"><input type="text" id="days" class="input-medium" name="days[]" value="<? echo $listb['days'];?>"onchange="getDate(4)"/></td> 
<td align="center" style="font-family:century gothic"><input type="text" id="duration" class="input-medium" name="duration[]" value="<? echo $listb['duration'];?>" onchange="calc()"/></td> 
<td align="center" style="font-family:century gothic"><input type="text" id="start_date" class="input-long" name="start_date[]" value="<? echo $listb['start_date'];?>" class="date demo" onchange="getDate(5)" ></td> 
<td align="center" style="font-family:century gothic"><input type="text" id="end_date" class="input-long" name="end_date[]" value="<? echo $listb['end_date'];?>" class="date demo" onchange="getDate(6)"></td> 
<td align="center" ><input class="submit-green" id="end_date" type="button" name="end_date[]" value="GENERATE" onclick="getDate(7)"></td> 

然后,在脚本中你得到的参数做不同的事情:

<script> 
     function getDate(param) 
    { 

现在你现在至极他检查

1

按钮的我假设你有你的表行前foreach。 在这种情况下,你有几次相同的ID为每个输入字段。

尝试使id的唯一性。事情是这样的:

<input type="text" id ="task_mark_row1"> 

//表格下一行:

<input type="text" id ="task_mark_row2"> 

...

相关问题