0

Jquery と一緒に asp.net コンテンツ ページを使用しています。私はJqueryが初めてで、datepickerとモーダルダイアログを使用しています。Datepicker は正常に動作していますが、autoOpen:false以下で共有したコード スニペットから行を削除すると、モーダル ダイアログが機能しません。画像ボタンをクリックしたときに起動するモーダル ダイアログが必要です。

これを手伝ってください。以下は私のjqueryコードです。

$(function () {
   var dialogshow = true;
   if (dialogshow) {
     $('#dialog').dialog({
      autoOpen: false,
      width: 600,
      closeOnEscape: true,
      resizable: false,
      draggable: true,
      modal: true,
      title: 'Add New Project',
       show: {
        effect: 'blind',
        duration: 1000
       },
       hide: {
        effect: 'explore',
        duration: 1000
       }
     });
    }
});

$("#ImgProjAdd").click(function () {
  $("#dialog").dialog("open");
  return false;
});

//my asp.net code to generate image button
<asp:ImageButton ID="ImgProjAdd" runat="server" ImageUrl="~/images/plus2.png" />
4

3 に答える 3

1

"asp:ImageButton" は、DOM が読み込まれるときに同じ ID='ImgProjAdd' を生成しません。ページのソースを表示し、「ImgProjAdd」に移動すると、値が先頭に追加されていることがわかります。その生成された ID の「クリック」関数を作成する必要があります。

于 2013-08-12T06:37:50.973 に答える
0
  function OpenJqueryDialog() {
            $('#dialog').dialog({ autoOpen: false, bigframe: true, modal: true, width: 450, closeOnEscape: true, resizable: false, show: { effect: 'blind', duration: 1000 }, hide: { effect: 'explore', duration: 1000} });
            $('#dialog').dialog('open');
                        $("#iframe").attr('src', 'AddProject.aspx');
            return false;
        }

 <div id="dialog" title="Add New Project" style="width: 600px; height: 250px; display: none;">
            <iframe id="iframe" width="100%" height="100%" marginwidth="0" marginheight="0" frameborder="0"
                scrolling="no" title="Add New Project"></iframe>
        </div>

<asp:ImageButton ID="ImgProjAdd" runat="server" OnClientClick="return OpenJqueryDialog();"
                                        ImageUrl="~/images/plus2.png" />
于 2013-08-13T04:42:25.543 に答える