0

次のようなページに jQuery multiselect コントロールを動的に追加しています。

 var captionCell = new HtmlTableCell { InnerHtml = control.Caption };
 var inputCell = new HtmlTableCell();
 inputCell.Controls.Add(inputControl);
 var row = new HtmlTableRow();
 row.Cells.Add(captionCell);
 row.Cells.Add(inputCell);
 tbl.Rows.Add(row);

そして、次のように私のjavascript文字列を構築します:

 StringBuilder sb = new StringBuilder();
 sb.AppendLine("<script type=\"text/javascript\">");
 sb.AppendLine("var $callback = $(\"#callback\");");
 sb.AppendLine("$(document).ready(function () {");
 sb.Append("$(\"#");
 sb.Append(multiSelectControl.ClientID);
 sb.AppendLine("\").multiselect(");
 sb.AppendLine("{");
 sb.AppendLine("show: \"fade\",");
 sb.AppendLine("hide: \"fade\",");
 sb.AppendLine("click: function (event, ui){");
 sb.AppendLine("$callback.text(ui.text + ' ' + (ui.checked ? 'checked' : 'unchecked'));");
 sb.AppendLine("},");
 sb.AppendLine("});");
 sb.AppendLine("});");
 sb.AppendLine("</script>");

次に、次のようにスクリプトをページに追加します。

ScriptManager.RegisterClientScriptBlock(this.Page, Page.GetType(), "CreateControl" + inputControl.ClientID,
                            sb.ToString(), false);

しかし、これを行おうとすると、次のエラーが発生します。

Microsoft JScript ランタイム エラー: オブジェクトはこのプロパティまたはメソッドをサポートしていません

みんなを助けてください。

前もって感謝します。

ここに画像の説明を入力

4

3 に答える 3

1

document.ready を使用するには、ページに jQuery を含める必要があります。ページに jquery を含めるための script タグを追加していません。jquery を含めるには、script タグを追加してください。

<script type="text/javascript" src="/jQueryFolder/jquery.js"></script>
于 2012-12-06T06:21:09.473 に答える
0

I solved this by creating a user control, and when I need to use the script above I just loaded the user control.

Solved everything and works really well.

于 2012-12-11T08:55:57.940 に答える
0
  var $callback = $("#callback");
 $(document).ready(function() {
    $("#ClientID").multiselect({
    show: "fade",
    hide: "fade",
    click: function(event, ui) {
        $callback.text(ui.text + ' ' + (ui.checked ? 'checked' : 'unchecked'));
    }
});
});​
于 2012-12-06T06:38:09.260 に答える