2017-08-09 72 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"> 

...

相關問題