【问题标题】:Convert input type text to textarea and assign value back to input type text将输入类型文本转换为 textarea 并将值分配回输入类型文本
【发布时间】:2015-08-04 09:50:08
【问题描述】:

我有以下代码 sn-p,当单击网格中的编辑按钮时会调用一个窗口弹出

edit: function(e) {
$('input[name="prods"]').each(function()
{
    var textarea = $(document.createElement('textarea'));
    textarea.text($(this).val());

    $(this).after(textarea).remove();
}); 
}

文本框输入类型被转换为可以正常工作的文本区域。

转换为textarea后,如何将textarea的值赋值给$('input[name="prods"]') 单击弹出窗口的保存按钮时?

【问题讨论】:

    标签: javascript jquery kendo-ui telerik kendo-grid


    【解决方案1】:

    请尝试使用以下代码 sn-p。 我们必须从 textArea 中检索值并将其值分配给模型属性。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>Untitled</title>
    
        <link rel="stylesheet" href="http://cdn.kendostatic.com/2015.2.624/styles/kendo.common.min.css">
        <link rel="stylesheet" href="http://cdn.kendostatic.com/2015.2.624/styles/kendo.rtl.min.css">
        <link rel="stylesheet" href="http://cdn.kendostatic.com/2015.2.624/styles/kendo.default.min.css">
        <link rel="stylesheet" href="http://cdn.kendostatic.com/2015.2.624/styles/kendo.dataviz.min.css">
        <link rel="stylesheet" href="http://cdn.kendostatic.com/2015.2.624/styles/kendo.dataviz.default.min.css">
        <link rel="stylesheet" href="http://cdn.kendostatic.com/2015.2.624/styles/kendo.mobile.all.min.css">
    
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="http://cdn.kendostatic.com/2015.2.624/js/angular.min.js"></script>
        <script src="http://cdn.kendostatic.com/2015.2.624/js/jszip.min.js"></script>
        <script src="http://cdn.kendostatic.com/2015.2.624/js/kendo.all.min.js"></script>
    </head>
    <body>
        <div id="example" class="k-content">
            <div id="grid"></div>
        </div>
    
    
    
        <script>
            $(document).ready(function () {
                var crudServiceBaseUrl = "http://demos.telerik.com/kendo-ui/service",
                    dataSource = new kendo.data.DataSource({
                        transport: {
                            read: {
                                url: crudServiceBaseUrl + "/Products",
                                dataType: "jsonp"
                            },
                            update: {
                                url: crudServiceBaseUrl + "/Products/Update",
                                dataType: "jsonp"
                            },
                            destroy: {
                                url: crudServiceBaseUrl + "/Products/Destroy",
                                dataType: "jsonp"
                            },
                            create: {
                                url: crudServiceBaseUrl + "/Products/Create",
                                dataType: "jsonp"
                            },
                            parameterMap: function (options, operation) {
                                if (operation !== "read" && options.models) {
                                    return { models: kendo.stringify(options.models) };
                                }
                            }
                        },
                        batch: true,
                        pageSize: 20,
                        schema: {
                            model: {
                                id: "ProductID",
                                fields: {
                                    ProductID: { editable: false, nullable: true },
                                    ProductName: { validation: { required: true } },
                                    UnitPrice: { type: "number", validation: { required: true, min: 1 } },
                                    Discontinued: { type: "boolean" },
                                    UnitsInStock: { type: "number", validation: { min: 0, required: true } }
                                }
                            }
                        }
                    });
    
                $("#grid").kendoGrid({
                    dataSource: dataSource,
                    pageable: true,
                    height: 550,
                    toolbar: ["create"],
                    columns: [
                        { field: "ProductName", title: "Product Name" },
                        { field: "UnitPrice", title: "Unit Price", format: "{0:c}", width: "120px" },
                        { field: "UnitsInStock", title: "Units In Stock", width: "120px" },
                        { field: "Discontinued", width: "120px" },
                        { command: ["edit", "destroy"], title: "&nbsp;", width: "250px" }],
                    editable: "popup",
                    edit: function (e) {
                        $('input[name="ProductName"]').each(function () {
                            var textarea = $(document.createElement('textarea'));
                            textarea.attr("id", "txtProductName");
                            textarea.text($(this).val());
    
                            $(this).after(textarea).remove();
                        });
                    },
                    save: function (e) {
                        e.model.ProductName = $('#txtProductName').val();
                    }
                });
            });
        </script>
    </body>
    </html>
    

    如果有任何问题,请告诉我。

    【讨论】:

      【解决方案2】:

      这可以是 val 和 text 的混合体吗? textarea.text 似乎错误,通常是 textarea.val('whatever')

      这里有介绍:

      jQuery get textarea text

      【讨论】:

        【解决方案3】:

        你也可以用这个方法..

        <div class="ref">
        <input type="text" name="prod" value="TEST"/>
        </div>
        
        
        jQuery('.edit').click(function(){
        
        var val = jQuery('input[name="prod"]').val()
        jQuery('.ref').html('<textarea name="prod">'+val+'</textarea>');
        
        });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-04-02
          • 1970-01-01
          • 2014-02-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多