0

DataTable のアクション列に、bootstrpa ボタン グループを配置しました。ボタンは 3 つのオプションで構成され、各オプションは個別の関数を呼び出し、Id の値を渡します。

これはすべて、データテーブルの ColumnDefs 部分で次のように設定されています。

   "columnDefs": [
             { "visible": false, "targets": 7 },
             { "visible": true, "targets": 8 },
              {
                  "targets": 8,
                  "visible": true,
                  "searchable": false,
                  "sortable": false,
                  "data": "download_link",
                  "render": function (data, type, full, meta) {

                      return '<div class="btn-group" role="group">' +
                          '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Action<span class="caret"></span>' +
                          '</button>' +
                          '<ul class="dropdown-menu" role="menu">' +
                         '<li><a href="javascript:viewMessage(' + data + ');">View</a></li>' +
                         '<li><a href="javascript:completeMessage(' + data + ');">Complete</a></li>' +
                          '<li><a href="javascript:approveMessage(' + data + ');">Approve</a></li>' +
                          '</div>';
                  }
              }
            ]

Uncaught ReferenceError 'value' is not defined を取得しているため、viewMessage 関数は呼び出されません。

「データ」値を省略すると、メソッドが起動されます。

4

1 に答える 1

1

たとえば、対象となる関数のコードを見ずに完全に確認することは困難ですがviewMessage、問題は引用していないことだと思いますdata。代わりにこれを行います:

'<li><a href="javascript:viewMessage(&quot;' + data + '&quot;);">View</a></li>' +
'<li><a href="javascript:completeMessage(&quot;' + data + '&quot;);">Complete</a></li>' +
'<li><a href="javascript:approveMessage(&quot;' + data + '&quot;);">Approve</a></li>' +

引用符なしでdata、変数への参照として挿入されます。dataが「テスト」の場合、結果は次のようになります

<a href="javascript:viewMessage(test);">View</a>             

変数としてスコープに存在しtestないため、Uncaught ReferenceError 'value' は定義されていません(3 つの関数のように、渡されたパラメーターを参照していると思いますvalue

于 2014-12-15T11:43:41.893 に答える