2014-11-01 58 views
-1

我得到了一個表,每行有一列數據庫記錄。每個列都是可編輯的,並且可以在記錄上執行多個操作。這在HTML中很容易實現,只是將每行以單獨的形式包裝起來。在單行或多行表上執行操作

但是,也應該可以對由複選框選中的多行執行操作。

.

是什麼讓這些單排操作使用HTML(同時最好不要提交所有其他行)和多行的行動在同一個表(最好不用JS)的最好方法?

+0

請註明我是如何改善問題,如果downvoting。我試圖展示它儘可能好。 – Zulakis 2014-11-01 23:38:11

+0

開始於_「到jsfiddle.net的鏈接必須附帶代碼。」_ – Nit 2014-11-01 23:39:16

+1

所有相關的代碼都應該包含在問題本身中。 – Nit 2014-11-01 23:42:06

回答

0

最好的辦法是隻使用一種形式,不是爲每個記錄使用數組,其中第一個座標是從數據庫中的項目編號,如下:

<input type="checkbox" name="id[2]" /> 
<input type="text" name="column1[2]" /> 
<input type="text" name="column2[2]" /> 

以後你可以發佈形式,或將其序列化並使用ajax。如果您不想使用複選框,但是要實時更改值,請將其移除(複選框),並使用舊值插入隱藏字段(以便您可以進行比較)。爲了檢測其提交按鈕已被使用,看看here

0

如何:

  • 有一個<form>元素包裝整個表。
  • 當按下任何操作按鈕時,使用JavaScript來阻止默認操作並動態構建FormData(基於按下哪個按鈕)並通過Ajax提交。
  • 回退(即,如果JavaScript執行失敗)提交整個表。在服務器端,檢測這種情況並提取相關數據,然後正常進行(如通過Ajax提交)。