如何在淘汰赛功能中传递下拉列表选择值?

时间:2015-02-06 06:36:15

标签: asp.net-mvc knockout.js

我必须在击倒功能中传递下拉选择值。我为此创建了剃刀语法:

<div class="row">
        @Html.LabelFor(m => m.FilterByType, htmlAttributes: new { @class = "label" })
        @Html.DropDownListFor(m => m.FilterByType, new SelectList(Model.aspNetUser, "FilterByType", "FilterByName"), new { @class = "selectBox", @id = "aspnetUsersType", @data_bind = "event: {change: getData(0,'','',size,index,'')}" })
        <input type="hidden" id="filterByType" name="filterByType" value="">
    </div>

以下是我的淘汰赛功能:

 self.getData = function (filterbytype, fromdaterange, todaterange, pageSize, page, searchText) {"some task"}

如何在getData中传递选定的值?现在我将0作为filterbytype传递。

2 个答案:

答案 0 :(得分:0)

可以使用JSON将对象从服务器传递到客户端,并绑定到observableArray类型的属性。然后使用foreach绑定将此属性绑定到html元素。你可以在这里看到一个例子: http://knockoutjs.com/documentation/foreach-binding.html

答案 1 :(得分:0)

假设您在HTML中使用以下代码

<select data-bind="options: operations, value: self.selectedOperation"> 

确保您必须将这些变量用作ko.observable()类型

所以你的JS代码看起来像这样

  var self = this;
  self.selectedOperation = ko.observable("Option1"); // with self u can use more variables and here selectedOperation will be containing the choosen value you want and you can pass it wherever u want 
  var operations = ko.observableArray(["Option1", "Option2", "option3", "Opt4"]); // dropdown List  

现在由您决定如何使用该变量..