我正在尝试从我的剑道多选中获取所选项目的数组,这是在剑道网格的编辑器模板中。
多选代码:
viewDidLoad()
我想使用JQuery提取所选项目 - 具体来说,我想要DataValueField,这是一个整数。我已经尝试了几样,但是无法获得适当的整数,而不是ViewData集合中项目的索引。我试过的一些方法。
@(Html.Kendo().MultiSelect()
.Name("Staff")
.DataValueField("ID")
.DataTextField("FullName")
.BindTo((System.Collections.IEnumerable)ViewData["Staff"])
.Events(events => events
.Change("onChange")
)
.HtmlAttributes(new { @class = "col-md-7 details-editor" })
)
我真的不知道该怎么做,如何使用上面的一个或不同的路径来获取正确的int数组。
感谢您的帮助!
答案 0 :(得分:0)
向Multiselect添加.Select("onSelect")
事件,并在每次用户选择项目时将值附加到隐藏元素:
function onSelect(e) {
var item = e.item;
var text = item.text();
var $data = $('#myHidden');
$data.val($data.val() + text);
};
答案 1 :(得分:0)
要获取所选项目的ID,您可以按如下方式编写onChange方法:
var onChange = function(e) {
var arrayOfNames = this.value();
// Do other stuff here...
};
可以找到被解雇的更改事件的文档here。
我还写了一个工作示例here。
答案 2 :(得分:0)
答案比你想象的要简单。
$('#Staff').val();
这将返回逗号分隔的列表,其中包含.DataValueField中的任何内容。在您的情况下,以逗号分隔的“ID”列表。