2010-07-28 53 views
0

我遇到了一個問題,這個問題一直困擾着我。將多個複選框值傳遞給Jquery操作

我有一個基於搜索生成複選框列表的頁面。在頁面內還有一個對話框,用於在按下按鈕時顯示。我想要做的是從複選框中獲取值並將它們傳遞給控制器​​操作,然後返回對話框的部分內容。

我遇到的麻煩是我從複選框中獲取值,但它們沒有傳遞給控制器​​中的操作。不知道我在這裏錯過了什麼。

我使用

var create_dialog = jQuery("#main div#list_dialog"); 
     // AddToList is a button for sending values to the action 
     $("#AddToList").live("click", function() { 
      var myData = new Array(); 
      var i = 0; 
      $("input:checkbox[@name='ID']").each(
       function() { 
        if (this.checked) { 
         myData[i] = this.value; 
         i++; 
        } 
       }); 
      create_dialog.load(
     Jurat.Path.createActionPath("List", "ListValues"), 
     { ID: myData }, 
      function() { 
       create_dialog.dialog("open"); 
       create_dialog.find("form").validate(); 
      }); 
     }); 

控制器動作

[HttpPost] 
public ActionResult ListValues(string ID) 
{ 
     // Removed manipulation details 
    return PartialView("ListSelection", Data); 
} 

回答

0

jQuery的腳本,我不是100%肯定這是怎麼回事與jQuery的東西和create_dialog但似乎對我來說,你正在傳遞一個數組到控制器,而控制器正在尋找一個字符串。

我想你會需要將控制器更改爲:

[HttpPost] 
public ActionResult ListValues(string[] ID) 
{ 
     // Removed manipulation details 
    return PartialView("ListSelection", Data); 
} 
相關問題