1. ホーム
  2. ジャバスクリプト

[解決済み】 Uncaught TypeError : undefined のプロパティ 'replace' を読み取れない In Grid

2022-01-03 23:51:34

質問

剣道グリッドと剣道UIを使うのは初めてです。私の質問は、このエラーをどのように解決することができますか?

$("#Grid").kendoGrid({
            scrollable: false,
            sortable: true,
            pageable: {
                refresh: true,
                pageSizes: true
            },
            dataSource: {
                transport: {
                    read: {
                        url: '/Info/InfoList?search=' + search,
                        dataType: "json",
                        type: "POST"
                    }

                },
                pageSize: 10
            },
            rowTemplate: kendo.template($("#rowTemplate").html().replace('k-alt', '')),
            altRowTemplate: kendo.template($("#rowTemplate").html())
        });

これは私のKendoGrid上のコードです。

rowTemplate: kendo.template($("#rowTemplate").html().replace('k-alt', ''))

エラーの発生した行

Uncaught TypeError: Cannot read property 'replace' of undefined 

rowTemplateのHTML

 <script id="rowTemplate" type="text/x-kendo-tmpl">   
        <tr class='k-alt'>
            <td>
                ${ FirstName } ${ LastName }
            </td>
        </tr>
            </script>

解決方法は?

jQueryが要素を見つけられないのでしょう。

まず最初に要素を探します。

var rowTemplate= document.getElementsByName("rowTemplate");

または

var rowTemplate = document.getElementById("rowTemplate"); 

または

var rowTemplate = $('#rowTemplate');

そして、もう一度あなたのコードを試してみてください。

rowTemplate.html().replace(....)