2012-10-04 36 views
0

我在我的基於Razor的網站上有一個WebGrid,現在我想在複選框和一個文本框內的列,當我點擊複選框後輸入一個數量,我希望它提交表單,所以我可以將該項目添加到數據庫(我現在不是很熱衷於AJAX,除非它更容易和更好)。但我不知道該怎麼去做。表單提交複選框旁邊的WebGrid列中的數量文本框

enter image description here

我應該換複選框,文本框的每個組合在自己的形式,所以會有針對都有一個複選框每列一個表格?還是應該將整個WebGrid div包裝在1個表單中,然後確定在提交時檢查了哪些?我真的不確定從哪裏開始。

任何幫助將不勝感激。

回答

1

如果你不喜歡ajax,你可以將整個網格包裝在一個表單中,然後使用複選框上的選中事件獲取該複選框的ID,以便明確知道在表單發佈時要查看哪個值。您必須通過id中的標識符將每個複選框綁定到相關的文本框,因爲它會發佈網格的所有值。在頁面上有多個表單的情況下,如果在每個部分執行特定功能的情況下對頁面進行分段,則可以執行此操作。在這種情況下,網格在整個網格中執行一項功能。

的代稱,而Ajax風格的做法將是最好的選擇。使用jquery,將每個方法都附加一個ajax.post到您想要發佈的網格中的每個元素。比試圖編寫所有額外的代碼來確定哪些複選框已被更改以及您希望從帖子中查看哪些數據更清潔。

$.ajax({ 
      type: "POST", 
      url: path, 
      data: "id=" + checkboxId + "text=" + textboxdata+ , 
      success: function() { 
       // if needed alert user data saved 

      } 
}); 
+0

我到底在哪裏放置Ajax代碼段?我只是將一個ajax示例放在某個頁面的腳本標記中? –

+1

這只是一個示例代碼段...取決於您的應用程序的細節,您可能需要包含其他屬性。它可以包含在js文件的頁面中,但是您需要將發佈操作附加到每個複選框上的事件。 $(文件)。就緒(函數(){ $( '選擇')點擊(函數(){地方AJAX代碼在這裏}}); 這又僅僅是一個樣品,有幾種方法將函數綁定到基於選擇器的事件上,我會查看jQuery文檔,因爲它非常全面。 – DRobertE

相關問題