当前位置: 首页 > 知识库问答 >
问题:

KendoUI下拉列表-当“新建…”选择后,显示文本框

鲁博雅
2023-03-14

我在KendoUI下拉列表中有一个项目列表。它是使用Razor语法生成的

我想做的是:

>

  • 如果用户没有从列表中找到他/她正在寻找的内容,他/她选择"New..."(一个静态值)

    应显示一个隐藏的文本字段,允许他们添加新值

    新值应发回控制器方法(WIP)

    我想:

    >

  • 获取数据

    静态添加“New”选项

    到目前为止,这种方法效果良好:

    >

  • 它从控制器action方法获取数据,并按预期显示列表

    我可以将它绑定到两个事件:“更改”和“数据绑定”

    问题:

    我使用jQuery的“ready”方法添加名为“New..”的静态值。它复制了这个值。我认为这是一个无限循环。

    因此,我被困在这一点上

    部分观点:

     @(Html.Kendo().DropDownListFor(model => model.ClientType)
                                  .DataSource(ds => ds.Read(read => read.Action("FetchAllClientTypes", "ClientType")))
                                  .DataTextField("Description")
                                  .DataValueField("Id")
                                  .AutoBind(true)
                                  .Events(e =>
                                   {
                                       e.Change("onClientTypeChange").DataBound("onClientTypeDataBound");
                                   })
                                  .ToClientTemplate()
                          )
                    @Html.ValidationMessageFor(model => model.ClientType)
    
    /*When dropdown is bound, add "New..."*/
    /* Duplicates "New". Appears to be infinite. */
    function onClientTypeDataBound() {
        var clientTypesDropDownList = $('#ClientType').data('kendoDropDownList');
        clientTypesDropDownList.dataSource.add({ Description: 'New...', value: '-1' });
    
    };
    
    /**Works**/
    function onClientTypeChange() {
    
        alert('Testing On change');
    };
    
  • 共有1个答案

    尹英华
    2023-03-14

    您所描述的只是ComboBox小部件的开箱即用支持。如果items集合中没有此类值,则ComboBox的值将成为用户键入的文本。在这里仔细查看ComboBox小部件(更具体地说,在使用不同的值时使用getValue按钮)。

     类似资料:
    • 我正在尝试编写一些相当基本的代码,但多年来没有接触过JavaScript,我真的不确定最好的方法是什么。 目标:有一个42个竞技场部分数字的下拉列表,当选择这些数字时,将根据该数字显示“红色”或“黑色”。为了提供过多信息,部分编号是: 黑色:103, 105, 107, 111, 113, 115, 119, 121, 123, 127, 129, 131, 201, 203, 205, 207,

    • 我想在选择另一个select元素的一个选项时显示一个select元素,在选择另一个选项时隐藏它。 这是JavaScript: 感谢任何帮助。谢谢

    • 我想根据ViewBag值过滤下面加载的ProductData dropdownlist,比如ViewBag。类别需要传递给GetProductData()的viewbag值。我怎样才能做到这一点。非常感谢。 控制器: //需要基于viewbag进行过滤。类别值

    • WebElement drpAmentization=driver.findElement(by.xpath(“//select[@id='Amentissement']”));

    • 我有一个用来选择某些元素的代码,当你点击geticon按钮并显示正确的选项值时,该代码工作得很好。问题是我不确定如何显示下拉菜单的选择选项值(而不是按钮)。 这是我的Jsfiddle null null

    • 我试图简单地点击下拉列表,在我输入单词前进后显示。但是我总是被抛出一个错误。线程“main”org.openqa.selenium.NoSuChelementException:没有这样的元素:无法找到元素: