2013-11-14 3 views
3

У меня есть следующий код в тег сценария: DIV тег не отображается на кнопке осины нажмите

$(document).ready(function() { 
    $('#Button1').click(function() { 
     $("#loading").show(500000); 
    }); 
}); 

и вот кнопка и DIV тег:

<asp:Button ID="Button1" runat="server" Text="View Summary" 
      onclick="Button1_Click" /> 
    </p> 
    <div id="loading">Page is loading...</div> 

когда я нажимаю кнопку, тег div не отображается. У меня дисплей: нет; для DIV в CSS ..

ответ

2

кнопку Вы оказывает asp.net и изменяет идентификатор (если вы не установили режим статического ИН), так при отрисовке идентификатор кнопки не будет Button1 вместо этого он будет иметь другие вещи, прилагаемые к нему (чтобы избежать дублирования id как можно больше). Поэтому используйте регистр ClientId, чтобы зарегистрировать обработчик кликов. Кроме того, продолжительность анимации show составляет миллисекунды, и у вас ее слишком длинная, просто сократите ее.

Try: -

$('#<%= Button1.ClientID %>').click(function() { 
    $("#loading").show(); 
    }); 

Другой подход это, чтобы обеспечить CssClass к кнопке и привязать обработчик к тому, что в качестве селектора. .

<asp:Button ID="Button1" runat="server" CssClass="Button1" Text="View Summary" 
     onclick="Button1_Click" /> 

и

$('.Button1').click(function() { 
    $("#loading").show(); 
    }); 
+0

Это сработало .. !! Спасибо PSL .. !! :) –

+0

@RichieRich Добро пожаловать ... – PSL

2
$("#loading").show(500000); 

собирается принять как 500 секунд, чтобы показать.

Попробуйте

$("#loading").show(); 

Аргумент в шоу показывает, сколько миллисекунд требуется до того, как элемент показывает вверх. Не оставляя аргумент в show() по умолчанию для .show(400)

+0

Благодаря Тревор, я попытался с $ ("# загрузка") шоу(); все же он не появляется. –

+0

@RichieRich рад, что PSL знает, как работает asp.net. – Trevor

Смежные вопросы