2012-06-25 62 views
0

我使用jqWidgets與ASP.MVC。我正在填充一個下拉列表,當提交表單時,我希望按下按鈕時從下拉列表中將選定的值傳遞給我的控制器。ASP MVC通過jqWidget的選定值下拉到控制器

如果我硬代碼類似下面的一切價值的作品:

@using (Html.BeginForm("GetRace", "Schedule", new { @id = "abc" },FormMethod.Post))  
{ 
    <div id="okBtn"> 
     <input id="Search" type="submit" value="OK" /> 
    </div>   
} 

我想能夠調用JavaScript函數,如:

function getListItem() 
    { 
    return selectItem; 
    } 

不過,我似乎無法得到當我將BeginForm更改爲

@using (Html.BeginForm("GetRace","Schedule",@ID = new {onsubmit = "return (getListItem());" })) 

回答

0

您可以在窗體內使用隱藏字段:

@using (Html.BeginForm("GetRace", "Schedule", new { id = "abc" }, FormMethod.Post, new { id = "myForm" })) 
{ 
    @Html.Hidden("SelectedListItem") 
    <div id="okBtn"> 
     <input id="Search" type="submit" value="OK" /> 
    </div>   
} 

,然後訂閱.submit()事件這種形式悄悄地,並設置設置隱藏字段的值:

$(function() { 
    $('#myForm').submit(function() { 
     var selectedItem = 'some value that you will read from the dropdown'; 
     $('#SelectedListItem').val(selectedItem); 
    }); 
}); 

,甚至更好,乾脆把下拉表單內。這樣您就不需要使用任何javascript,並且在提交表單時,選定的值將自動發送到控制器。

相關問題