我有一个带下拉列表的网格和一个复选框。每当我选中复选框(多选)时,我想获得所选下拉列表的值。我怎么能用kendoui做到这一点。
请帮助我,这是fiddle。
我的代码:
<div id="grid"></div>
<input type="button" value="gridSelectedItem" onclick="selectElementContents( document.getElementById('grid') );"
/>
<div>
<input id="dropdownList" runat="server" /></div>
<script type="text/x-kendo-template" id="CheckboxTemplate">
<li unselectable="off" class="k-item nowrap check-item">
<input type="checkbox" name="#= text #" value="#= value #" class="check-input" #= selected ? "checked" : "" #/>
<span>#= text #</span>
</li>
答案 0 :(得分:8)
一边不是 - 您定义的模板不需要包含li元素 - 它会自动为您生成。
要检索与项目相关的模型,您可以使用ddl客户端对象的dataItem方法和选项的索引(这就是您需要修复模板的原因,因为索引将是错误的。)
这是一个神奇的片段:
var ddl = $('#dropdownList').data().kendoDropDownList;
var model = ddl.dataItem($input.closest('.k-item').index());
alert(model.text);
我更新了您的fiddle以查看其实际效果。
答案 1 :(得分:5)
这适合我:
var selectedId = $(&#39;#MyDropDown&#39;)。data(&#34; kendoDropDownList&#34;)。value();答案 2 :(得分:0)
<div class="form-group">
<label>Shift</label>
<div class="input-group">
@(Html.Kendo().DropDownListFor(t => t.ShiftId)
.Name("ShiftId")
.DataTextField("Text")
.DataValueField("Value")
.OptionLabel("...Select Shift...")
.DataSource(source => source.Read(read => read.Action("GetShifts", "AssessmentResult")))
.HtmlAttributes(new { style = "width:292px", @required = "required" })
)
</div>
</div>
<button type="button" id="show">Show</button>
<script type="text/JavaScript">
$('#show').click(function(event) {
var ShiftId = $("#ShiftId").data("kendoDropDownList").value();
alert(ShiftId);
}