【问题标题】:Not able to update text box value in change event of dropdown kendo grid angular 1无法在下拉剑道网格角度 1 的更改事件中更新文本框值
【发布时间】:2017-12-26 12:15:31
【问题描述】:

在 Ui 上,我在弹出模式下打开了 kendo-grid 进行编辑。其中有一个 kendoDropDownList 我绑定了一个更改事件。在更改事件函数中,我想更新同一剑道网格中存在的文本框的值。

到目前为止我所尝试的:

在下拉菜单的编辑器功能中,我可以访问选项,所以我尝试了options.model.set("TEXT_BOX_FIELD", "Hello");

我也试过这个:

var uid = this.element.closest("[data-role=window]").data("uid");
var model = $("#Grid").data("kendoGrid").dataSource.getByUid(uid);
model.set("TEXT_BOX_FIELD","Hello");

在上述两种方法中,我发现即使控件在 chrome 调试器中通过该行,该值也不会在模型中设置。

model.TEXT_BOX_FIELD 即使在调用 set 函数后仍然是空引号。 我无法理解其中的原因。

我也尝试像这样在模型中设置值:

model.TEXT_BOX_FIELD = "Hello";

通过这种方式,我可以在调试器中看到该值现在已在模型中设置,但它不会显示在网格的编辑弹出窗口中,尽管它在后台的 kendo-grid 中可见。

但是为了在弹出窗口中显示,我使用 jquery 如下:

$('[name="TEXT_BOX_FIELD"]').val("Hello");

这工作得很好,但我不明白为什么 set 函数不起作用。

我已经关注了剑道的文档和讨论如下: https://docs.telerik.com/kendo-ui/controls/data-management/grid/how-to/Editing/access-editor-control

https://www.telerik.com/forums/custom-popup-editor-with-additional-fields

https://www.telerik.com/forums/updating-a-textbox-cell-after-drop-down-selection

我想知道执行此任务的推荐方法。

编辑: 使用return false 进行了验证,这阻止了 set 函数在定义架构时设置值。这是触发的,因为最初文本框的值是空的。所以我删除了验证。现在 set() 函数运行正常,我也可以在 UI 上看到值。

validation : {
    requiredCheck : function(input) {
        if (input.is("[name='TEXT_BOX_FIELD']") && input.val() == '') {
            //alert(input.val()) 
            input.attr("data-textBoxFieldMsg-msg",  "Text Box cannot be empty");
            return false;
        }
        return true;
    }
}

【问题讨论】:

    标签: jquery angularjs telerik kendo-grid


    【解决方案1】:

    我的解决方案:

    首先我使用 jquery 来设置文本框中的值,如下所示:

    $('[name="TEXT_BOX_FIELD"]').val("Hello");
    

    然后我调用模型的 set 函数来设置这个值:

    var uid = this.element.closest("[data-role=window]").data("uid");
     var model = $("#Grid").data("kendoGrid").dataSource.getByUid(uid);
     model.set("TEXT_BOX_FIELD","Hello");
    

    这次空验证在调用 model.set() 时没有抛出错误,因为该文本框的值已经由 jQuery val() 函数设置。

    【讨论】:

    • 您的解决方案,结合 Telerik 的这篇文章,为我提供了我所需要的。谢谢! telerik.com/forums/…
    猜你喜欢
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多