2015-06-01 70 views
0

我是新來的MVC,c#和ws面臨一些問題。我在我的視圖中有一個下拉列表,該列表由我的數據庫通過控制器填充。從MVC的下拉列表中選擇所有,使用javascript

@Html.DropDownListFor(model => model.***ID, (SelectList)ViewBag.***, "Select All", new { onchange = "***Changed()", @class = "form-control", id = "***ID", name="list", style = "max-width:450px;display:inline;" }) 

我的頁面要求我有一個全選按鈕,其中如果點擊它將選擇下拉內的所有值。目前,從我的JavaScript,我得到一個單一的值

var ID = $('#***ID').val(); 

並將其傳遞給打印功能的報告。該報告利用我在MSSql 2012中創建的存儲過程。當單擊全選按鈕時,它應該將下拉列表中的所有值傳遞給打印功能。我怎樣才能做到這一點? 任何幫助或指南的教程將有所幫助!謝謝

+0

對於初學者來說,你需要一個'MultiSelectList'。 –

+1

使用'@ Html.ListBoxFor'在下拉列表中選擇多個值。 –

回答

0

如果我理解正確,您的下拉列表中已經有'全選'(通常以''作爲值)。 我認爲更好的方法是修改WS(你的存儲過程以及)來檢查傳入的值 - 所以如果在這種情況下傳入的值是「',那麼存儲過程將返回所有值。

0

你必須在下拉「全選」,也希望有一個獨立的「全選」按鈕 - 這是略顯混亂。

var ID = $('#***ID').val(); 
if (ID==="Select All") { 
    ID = $("#***ID>option").map(function() { 
      return $(this).attr("value"); 
     }) 
     .get() 
     .join(); 
} 

注:

忽略「全選」按鈕,你可以使用地圖讓所有的選項值這也包括「全選」 - 你可以從選擇如取出>option:not(:first)或處理存儲過程。

您的按鈕然後可以簡單地選擇下拉菜單中的第一個選項。

0

我實現了我的改變,我的MS SQL Server我的存儲過程將所有編號的打印功能的目標。事實上,我沒有選擇所有的人,而是建議我這樣做。 我將此添加到我的where子句中 (@ID IS NULL或s.ID = @ ID)

因此,基本上它需要所有記錄,我沒有指定ID。 也就是說,我不選擇下拉和傳遞中的所有值,而是選擇none並將所有信息放入1個報告文檔中。這裏

說明簡要介紹了我的意思 http://www.w3schools.com/sql/sql_null_values.asp

相關問題