JQuery Dialog无法在浏览器中打开

时间:2013-03-05 04:58:28

标签: c# jquery html

          <link type="text/css" rel="stylesheet" href="scripts/jquery-ui-1.8.5.custom.css" /> 
        <script src="Scripts/jquery-1.4.2.js" type="text/javascript"></script>
        <script type="text/javascript" src="scripts/jquery-ui-1.8.5.custom.min.js"></script> 


     <script type="text/javascript"> 
     function getalert1(Leave_RegisterID) 
            {
                document.getElementById('<%= hdnLeave_RegID.ClientID %>').value = Leave_RegisterID;
                $.fx.speeds._default = 1000;
                $(function () {
                    $('#reason').dialog({
                        autoOpen: false,
                        show: "blind",
                        hide: "explode",
                        display: ''
                    });
                    $('.LeaveReason1').click(function () 
                    {
                        $('#reason').html();
                        $('#reason').dialog('open');
                        return false;
                    });
                });
            }
</script>

我点击的按钮:

      <button id="LeaveReason1" class="LeaveReason1" onclick="getalert1('<%# Eval("Leave_RegisterID") %>');" title="Decline">Decline</button>

然而,当我在firebug中进行调试时,它没有进入这个代码:

   $('#reason').html();
   $('#reason').dialog('open');
   return false;

HTML

 <div id="reason" style="height: 300px; min-height: 109px; width: auto; display:none;" class="ui-dialog-content ui-widget-content"   runat="server">   
            <table width="100%" border="0" cellspacing="0" cellpadding="0">  
                <tr>
                    <td width="25%" class="body_txt" style="padding-right:2px">
                        <asp:Label ID="lblReason" runat="server" Text="Reason:" ></asp:Label>
                    </td>
                    <td width="75%">
                        <asp:TextBox ID="txtReason" Height="40%" Width="100%" MaxLength="200" TextMode="MultiLine" runat="server" CssClass="txt_bx" ></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td colspan="2">&nbsp;</td>
                </tr>                    
                <tr>
                    <td colspan="2" align="center">
                        <asp:Button Width="30%" runat="server" Text="Submit" id="btnSubmit" Height="25px" CssClass="clButton" ></asp:Button>&nbsp;&nbsp;&nbsp;
                    </td>
                </tr>
            </table>
        </div> 

2 个答案:

答案 0 :(得分:0)

它没有进入上面给出的代码..因为你在另一个点击事件中有那个代码..所以基本上为了工作你必须再次点击相同的按钮....这将无法工作.. < / p>

试试这个

  function getalert1(Leave_RegisterID)  // you are calling this function whn click
    {
        document.getElementById('<%= hdnLeave_RegID.ClientID %>').value = Leave_RegisterID;
        $.fx.speeds._default = 1000;
         //$(function () { and no need of ready function here
            $('#reason').dialog({
                autoOpen: false,
                show: "blind",
                hide: "explode",
                display: ''
            });

           // $('.LeaveReason1').click(function () {  again you have a click event here which is not necessary at all.. since the click is already fired by  getalert1()
                $('#reason').html();

                $('#reason').dialog('open');
                return false;

        });
    }

答案 1 :(得分:0)

$(document).ready(function(){

//separate your dialog init
$(function() {
    $('#reason').dialog({
         autoOpen: false,
         show: "blind",
         hide: "explode"
    });
});

//only have one click event
$('.LeaveReason1').click(function () 
                {
        document.getElementById('<%= hdnLeave_RegID.ClientID %>').value = Leave_RegisterID;
                $.fx.speeds._default = 1000;

                    $('#reason').html();
                    $('#reason').dialog('open');
                    return false;
                });