KendoComboBox MVC查找值,如果存在则选择它,如果不存在,则选择其他值

时间:2015-04-28 15:12:33

标签: jquery kendo-ui kendo-asp.net-mvc kendo-combobox

我有一个KendoComboBox,在MVC模式下,这些Combo加载了一个值列表。

现在,我需要加载这些ComboBox,但我需要你自动预选一个值,只有当它存在于值列表中时,如果没有找到值,则预选其他值。

@(Html.Kendo().ComboBox()
    .Name("Test")
    .HtmlAttributes(new { style = "width:100%" })
    .Placeholder("Seleccione")
    .DataTextField("name")
    .DataValueField("Id")
    .Filter("contains")        
    .DataSource(source =>
    {    
        source.Read(read =>
        {
            read.Action("CargaCombo", "Test");                   
        });               
    })
    .Value("TODOS")
    .Suggest(true)
)

我尝试将事件用作“查找”,使用jQuery读取数据,但我不能。 任何帮助?例如,我尝试了另一篇文章How to retrieve all data of a kendo ui dropdown list?,但它对我不起作用,也许是因为我使用了KendoComboBox而不是KendoDropDown。

谢谢!

1 个答案:

答案 0 :(得分:1)

最后,我使用DataBoundEvent:

<script type="text/javascript">
    function onDataBound() {        
        var user = $.trim($(".userlogged").text());    
        var encontrado = false;           
        var elementos = $("#Test").data("kendoComboBox").dataSource.data();
        $.each(elementos, function (index, value) {
            if (value.Nombre == user) {
                $("#Test").data("kendoComboBox").value(user);
                encontrado = true;
                return;
            }
        });

        if (!encontrado) {
            $("#Test").data("kendoComboBox").value(0);
        }
    }    
</script>

添加事件:

.Events(e =>
{
    e.DataBound("onDataBound");
})