2013-07-11 114 views
1

我通過這樣的ajax將表單集合對象傳遞給我的控制器之一。如何從formcollection中獲取控制器中選定的複選框值?

var formCollection = $(':input'); 
    $.ajax({ 
       url: url, 
       type: 'POST', 
       cache: false, 
       async: true, 
       data: formCollection, 
       success: function (result) { 
        // debugger 
        if (result.status == true) 
         document.getElementById('Iframe211').src = "ActivationModal.aspx" 

       } 
      }) 

並在控制器中我正在檢索像這樣的值。

[HttpPost] 
    public ActionResult Assign(FormCollection form) 
    { 
     var ch = form.GetValues("Prints"); 

     } 

這裏打印是這是在的WebGrid定義的複選框字段的名稱,

這裏的問題是變量CH我沒有得到被選中的複選框的值,我得到無論是否被選中,數組中的所有複選框值。

我怎樣才能得到選中的複選框的值?

感謝

+0

這是因爲你正在傳遞formCollection,它沒有指定複選框是否被選中。我想你想'var formCollection = $('input:checked')' – James

+0

但是然後它會傳遞窗體內的其他值,如隱藏字段或下拉值 –

+0

我需要傳遞所有窗體控件和複選框值 –

回答

0

您可以修改您的選擇像下面

var formCollection = $(':input:not(:checkbox), input:checked'); 

這將讓未複選框,然後全部選中的複選框的所有控件。

+0

嗨,感謝您的回覆! –

相關問題